Alguém pode esclarecer o dist-upgrade do Ubuntu (Debian) para mim?

35

Eu tenho um servidor Ubuntu 8.04 LTS. Existem vários pacotes "retidos" ( "as seguintes atualizações foram retidas" ) quando eu faço um apt-get upgrade. Entendo que posso fazer um apt-get dist-upgradeupgrade desses pacotes, mas tenho algumas preocupações:

  1. Se eu fizer um dist-upgrade, vou atualizar da 8.04 para a versão superior (8.10 eu acho)? Em caso afirmativo, qual o sentido de 8.04 ser "Long Term Support" (LTS)?

  2. Este é um processo "perigoso"? Estou assumindo que os pacotes são retidos porque existem novos pacotes dos quais eles dependem. Será que dist-upgradebasta puxar os novos pacotes e fazer um upgrade bastante simples, ou existem advertências para olhar?

Boden
fonte

Respostas:

57

O comando apt-get upgrade não irá adicionar ou remover pacotes. O apt-get dist-upgrade irá adicionar ou remover pacotes, conforme necessário.

O comando apt-get dist-upgrade não atualizará automaticamente você de uma versão para outra, a menos que você também tenha atualizado suas fontes (/etc/apt/sources.list) para apontar para uma versão mais recente.

homem apt-get

upgrade
    upgrade is used to install the newest versions of all packages 
    currently installed on the system from the sources enumerated 
    in /etc/apt/sources.list.

dist-upgrade
    dist-upgrade, in addition to performing the function of upgrade, 
    also intelligently handles changing dependencies with new versions 
    of packages;

Há preocupações especiais a serem observadas ao fazer uma dist-upgrade vs upgrade?

Na maioria das vezes, eu sempre apt-get dist-upgrade para aplicar atualizações em um sistema. Obviamente, preste atenção exatamente a quais novos pacotes estão sendo adicionados ou removidos. Freqüentemente isso acontece quando algo está sendo adicionado como um kernel mais recente que não é compatível com o anterior e você terá que recompilar os módulos. Se você possui algum módulo do kernel que precisou construir por conta própria, pode ser necessário recompilá-lo para o novo kernel. Eu tenho alguns sistemas com interfaces de rede não suportadas pelo kernel padrão que preciso recompilar o driver de rede após cada atualização do kernel.

Zoredache
fonte
Obrigado, era o que eu estava esperando. Há preocupações especiais a serem observadas ao fazer uma dist-upgrade vs upgrade? (não que é um substituto para o outro, eu só estou querendo saber se há alguma coisa que eu deveria estar ciente de)
Boden
Quando você executa o dist-upgrade, você obtém um resumo do que ele fará (pacotes a serem atualizados, novos pacotes, pacotes a serem excluídos). apenas observe o que está excluindo, se houver. se você não alterou seu arquivo /etc/apt/sources.list, ele não deve ser algo muito importante.
brad.lane
2
Apenas por uma questão de conclusão. Para migrar para a próxima versão do LTS, uma vez disponível, você precisará executar os seguintes comandos após verificar se a instalação do 8.04 está atualizada. O sudo apt-get instala o update-manager-core e o sudo do-release-upgrade.
3dinfluence
2

upgrade vs. dist-upgrade são realmente termos debian. No debian, você usaria o upgrade para obter alterações em um lançamento estável (que não envolveria algo tão drástico como uma remoção) e o dist-upgrade para alternar entre os lançamentos. O dist-upgrade deve ter os mesmos resultados que o upgrade, assumindo que nenhuma remoção seja necessária.

Indo entre lançamentos exigiria alterar seu sources.list para apontar para o novo lançamento.

O Ubuntu não possui o mesmo modelo de versão ultraconservadora, portanto os termos não são mapeados de maneira limpa - você geralmente deseja usar dist-upgrade a menos que esteja entre versões, caso em que você usa seu próprio atualizador, do-release -atualizar.

Capitão Segfault
fonte
you'd generally just want to use dist-upgrade unless you're going between releases, in which case you use the upgrade script. Acho que, capitão Segfault, você quis dizer o contrário: - geralmente você só deseja usar a atualização, a menos que esteja entre versões, caso em que usa o script dist-upgrade.
2
O Ubuntu possui um programa separado para fazer a atualização. Você usa isso, não o apt-get, para alternar entre lançamentos.
Captain Segfault 26/03
Onde posso encontrar este programa separado, por favor?
starbeamrainbowlabs
@starbeamrainbowlabs é chamado de não-release-upgrade , verificação homem não-release-upgrade para mais detalhes
isync
@isync Certo. Eu sabia disso - o comentário não estava claro, então pensei que havia outro comando com o qual eu não tinha entrado em contato. Obrigado!
starbeamrainbowlabs