O apt-dist-upgrade não é mais necessário

22

Antes do Ubuntu 18.04 estar disponível, eu estava usando o Ubuntu 16.04. E eu estava usando sudo apt-get update, sudo apt-get upgradee sudo apt-get dist-upgradepara fazer as coisas de atualização e atualização. Com o Ubuntu 18.04, mudei para usar em aptvez de apt-get. O que foi estranho para mim é que sudo apt dist-upgradenão tem mais efeito: eu faço a atualização e a atualização usando sudo apt updatee sudo apt upgade, mas quando executo sudo apt dist-upgrade, nada acontece ao contrário de quando eu estava usando sudo apt-get dist-upgrade.
Quando usei sudo apt-get dist-upgradealguns pacotes foram removidos e outros foram instalados. No entanto, quando corro sudo apt dist-upgrade, nada aconteceu .. Tudo o que recebo é:

sudo apt dist-upgrade 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.  

E isso acontece toda vez desde que comecei a usar, em aptvez de apt-get.
É algo relacionado a apt(isto é, sudo apt upgradesubstitui ambos upgradee dist-upgrade) ou qual é o problema exatamente?

singrium
fonte
Ficarei
rm-vanda

Respostas:

29

apt-get upgradevs apt upgradevsapt full-upgrade

apt-get upgradeapenas atualiza os aplicativos, ferramentas e utilitários. Ele não instala o novo kernel Linux do sistema operacional.

apt upgradeatualiza os aplicativos, ferramentas e utilitários e instala o novo kernel Linux do sistema operacional. No entanto, nunca remove pacotes antigos.

apt full-upgradeatualiza os aplicativos, ferramentas e utilitários e instala o novo kernel Linux do sistema operacional. Ele também remove pacotes antigos, se necessário para a atualização.

Parece-me que apt full-upgradefaz a mesma coisa que apt-get dist-upgrade. Ou seja, ele full-upgradeirá procurar e instalar um novo kernel, se disponível, e remover pacotes antigos, se a remoção for necessária para a atualização.

kernels são a parte fundamental do sistema operacional. Por esse motivo, a versão antiga do kernel nunca é substituída pela nova versão quando você executa apt upgradeou apt full-upgrade. A nova versão do kernel está instalada e a versão existente é mantida como está. A configuração no grub é alterada para inicializar a partir da nova versão por padrão durante o processo de atualização. Se o novo kernel não funcionar por algum motivo, é possível inicializar a partir do kernel antigo a partir do menu avançado do grub.

Observe apt full-upgradeque não remove versões mais antigas do kernels, pois instala a versão mais recente. Para removê-los é preciso usar apt autoremove.

Por que mudar o nome de dist-upgradepara full-upgrade?

  • Se você usar apt-get, precisará usardist-upgrade
  • Se você usar apt, precisará usarfull-upgrade

Eu acho que dist-upgradefoi um pouco confuso. Por exemplo, isso não é atualizado do Ubuntu 16.04 para o Ubuntu 18.04. Ele apenas atualiza o kernel e outras coisas no Ubuntu 16.04.

Eu acho que full-upgradeé mais intuitivo do que dist-upgrade.

Consulte O que é "dist-upgrade" e por que ele atualiza mais do que "upgrade"? para mais detalhes.

Divulgação completa: Sou apenas um usuário do Ubuntu, não tomei a decisão de alterá-lo. Estes são os meus pontos de vista pessoais.

Espero que isto ajude

user68186
fonte
11
+1, mas para ser pedante, na aptprópria página de manual : upgrade nunca remove os pacotes existentes , enquanto remove os pacotes full-upgrade atualmente instalados, se necessário para atualizar o sistema como um todo . Além disso, apt dist-upgradeparece funcionar bem nos meus sistemas (provavelmente para compatibilidade com versões anteriores).
Sr. Shunz 24/01
@ MrShunz Eu sei que é isso que a página de manual diz. Também é mencionado na outra resposta que adicionarei como referência.
user68186 24/01
apt upgradee apt-get upgradelide com a coisa diferente, consulte hiroom2.com/2016/05/20/ubuntu-16-04-debian-8-apt-command/…
mook765
@ mook765 Obrigado! Vou editar minha resposta com base em sua referência.
user68186 24/01
2
"Acho que o dist-upgrade foi um pouco confuso". Juro que esse é o eufemismo do século em relação ao apt. Existe algo no apt que não seja confuso ?! Como o que o nome "apt" ou "aptitude" tem a ver com o gerenciamento de pacotes em primeiro lugar? Por que existem 3 variações de apt? Por que o apt- get modifica meu sistema? Por que "atualizar" não atualiza meu sistema? Por que "atualizar" não atualiza meu sistema? Por que não deveria apenas atualizar seu cache interno antes de atualizar automaticamente como um sistema operacional saudável? Por que limpar desinstalar um pacote em vez de removê-lo do cache? etc ....
Mehrdad 25/01
15

dist-upgradefoi substituído no Ubuntu por full-upgrade.

Usuários mais antigos do Ubuntu lembram quando de dist-upgradefato era usado regularmente para instalar pacotes do kernel. Os nomes dos pacotes do kernel mudam com a versão, tornando-os inelegíveis para o normal upgrade. full-upgradefoi adicionado para atender com segurança a essa necessidade do fluxo de pacotes do Ubuntu.

O objetivo original do dist-upgradeé migrar entre os lançamentos do Debian (aproximadamente equivalente ao Ubuntu do-release-upgrade). Portanto, há um pouco menos de proteção contra conseqüências imprevistas. Leia as alterações propostas cuidadosamente antes de concordar.

Usar em dist-upgradevez de full-upgradeprovavelmente não prejudicará um sistema saudável. Milhões de usuários ao longo de uma década resolveram muitos bugs do fluxo de trabalho adequado. No entanto, dist-upgradepode ter resultados inesperados em um sistema com pacotes quebrados retidos ou outros problemas não resolvidos.

user535733
fonte
+1 para a finalidade original de dist-upgrade. Alguém teria que mexer com o sources.listpara usá-lo desta maneira, eu acho.
user68186