Como o aptitude determina qual versão de um pacote / aplicativo instalar? ou seja, Apache 2.2 vs 2.4

1

Então eu perdi vários dias lidando com um bug do Apache2 que foi corrigido no Februry 2012. Eu não conseguia descobrir por que estava experimentando o bug ainda até descobrir minha versão do Apache2 era uma versão 2.2.x mesmo achei que tinha criado todo o servidor do zero Debian 6 em 30 de novembro de 2012. Por alguma razão aptitude -install apache2 puxou 2.2.x em vez de 2.4.x.

Eu gostaria de saber que não assumi que a aptidão irá puxar o último build estável. Alguém pode lançar alguma luz sobre como os repositórios são gerenciados e por que o aptitude seria extraído da infraestrutura mais antiga mantida em vez da infra-estrutura 2.4.x. Além disso, como especificamente obter o aptitude para extrair o 2.4.xe como posso evitar problemas como este no futuro?

    
por JamesHoux 28.12.2012 / 00:12

3 respostas

0

O Aptitude sempre instalará a versão mais recente disponível nos repositórios (exceto em alguns casos especiais como pinagem ou quando direcionados para instalar uma versão mais antiga especificamente).

A família Debian de distribuições Linux (assim como a família Red Hat) testam uma versão específica de um determinado pacote de software para uma versão do sistema operacional (no seu caso, o Debian 6 com Apache 2.2.16) e a mantém assim versão para o lançamento inteiro por uma questão de estabilidade e compatibilidade de configuração, backporting em qualquer segurança ou correções de bugs importantes.

Portanto, o apt instalou a versão mais recente do pacote apache2 no repositório, que é a versão que foi testada com esse sistema operacional e é oferecida no repositório do Debian 6. Se você precisa do 2.4 por algum motivo específico, você deve ser capaz de encontrar um repositório de terceiros que ofereça um pacote para ele.

    
por 28.12.2012 / 02:09
1

Não existe o Apache 2.4 no repositório estável do Debian, como você pode ver em: link

O pacote apache2 é um metapacote que aponta para outros pacotes e versões com suas dependências: link

    
por 28.12.2012 / 02:04
0

Eu postei este link para um dos meus amigos e ele sabia a resposta, mas ele não tem uma conta. Então estou postando a resposta eu mesmo.

Basicamente, todos os pacotes são compilados por distribuição Linux. É por isso que você não pode simplesmente acessar o site do Apache e obter o Apache, a menos que ele ofereça especificamente uma compilação para sua distribuição.

O Debian, por acaso, considera o 2.4.x ser experimental e com bugs. Existe uma compilação alfa 2.4.2-2, mas não 2.4.3, que é supostamente estável. Eu estou supondo que o mesmo problema existe no Ubuntu no momento.

Então, obviamente, como o último pacote estável do Debian é 2.2.x, é isso que o aptitude instala.

Algumas vezes, terceiros irão lançar um pacote para uma determinada distro, mas você está confiando no terceiro para que ele receba suas próprias advertências.

Se você quiser usar um pacote de terceiros, poderá adicionar seus próprios repositórios ou repositórios pessoais de uma terceira parte chamada PPAs. Aptitude deve usar o PPA quando você instala algo.

Se uma versão da dada distro não estiver disponível, a única opção é construir a partir da fonte. Eu não vou construir a partir do código-fonte porque ele remove o caminho de atualização fácil. Toda vez que há uma atualização, o mantenedor tem que atualizar seus arquivos de origem e recompilá-los. Por enquanto, vou deixar as coisas no 2.2 já que desisti e voltei para a minha configuração antiga.

    
por 29.12.2012 / 00:41