Muitas vezes você verá duas das maneiras comuns de atualizar distribuições baseadas no Debian e no Ubuntu:
sudo apt-get update && sudo apt-get upgrade
sudo apt-get update && sudo apt-get dist-upgrade
A parte apt-get update
atualiza o cache de pacotes locais e, assim, informa seu sistema sobre os pacotes que podem ser atualizados.
No entanto, muitos usuários do Linux ficam confusos entre o uso do apt-get upgrade
e do apt-get dist-upgrade
.
Eles são os mesmos, ou há uma diferença? Em quais casos você deve usar o apt-get upgrade
e quando você deve usar o apt-get dist-upgrade
?
Neste artigo, explicaremos a diferença entre apt-get upgrade
e dist-upgrade
. Também discutiremos como o apt upgrade
e o apt full-upgrade
fazem as coisas de maneira diferente.
Diferença entre apt-get upgrade
vs apt-get dist-upgrade
Tanto o upgrade
quanto o dist-upgrade
são usados para atualizar os pacotes instalados no sistema. No entanto, o comando apt-get upgrade
não pode instalar um novo pacote ou remover um pacote instalado do sistema. O dist-upgrade
, por outro lado, pode instalar novos pacotes ou remover pacotes existentes, se necessário.
Isso também significa que você não pode atualizar a versão do kernel Linux com o apt-get upgrade
. Por que? Seu sistema mantém pelo menos dois kernels de cada vez. Porque quando há uma nova versão do kernel está disponível, ela é instalada junto com a que já está em uso.
Como envolve a instalação de novos pacotes, o apt-get upgrade
não atualiza o kernel.
O dist-upgrade é um superconjunto de upgrade. Além da função de atualização, ele também pode lidar de forma inteligente com alterações nas dependências do pacote. Isso inclui a remoção de pacotes de dependência que não são mais necessários ou a resolução de conflitos entre pacotes que surgiram devido a alterações nas dependências. Ele também pode instalar novos pacotes, se necessário.
Você pode ver na captura de tela que a execução do apt-get dist-upgrade
não apenas atualiza os pacotes instalados, mas também instala a nova versão do kernel.
Não se limita apenas a atualizações do kernel. Quando o sistema encontra cenários em que ele tem que instalar ou remover pacotes (dependência) para atualizar os pacotes instalados, dist-upgrade ajuda você. Se você vir uma mensagem de que pacotes foram mantidos, você pode executar o dist-upgrade
ou executar apt-get install
nesses pacotes explicitamente.
Além disso, se você estiver procurando atualizar a versão de distribuição, você deve usar dist-upgrade
antes de iniciar a atualização de distribuição para que todas as dependências sejam tratadas corretamente. Isso NÃO significa que você execute o comando dist-upgrade
e seu Ubuntu seja atualizado para 22.04 de 20.04.
Para resumir:
apt-get upgrade
apenas atualiza pacotes existentes. Ele não instala novos pacotes ou remove pacotes existentes.apt-get upgrade
não atualiza a versão do kerneldist-upgrade
pode remover pacotes de dependência ou instalar novos (se necessário)dist-upgrade
também pode atualizar a versão do kerneldist-upgrade
não atualiza a versão de distribuição
Por que não usar dist-upgrade
o tempo todo, então?
Agora, esta é a verdadeira questão. Se o dist-upgrade
é o comando superior e faz tudo o que o apt-get upgrade
faz, por que não usá-lo o tempo todo? Por que se preocupar em usar o apt-get upgrade
?
A resposta é estabilidade e previsibilidade.
Se você é um usuário de desktop, você pode não se incomodar muito. Mas suponha que você seja um administrador de sistema gerenciando servidores de missão crítica executando vários serviços com diferentes softwares configurados. Nesse caso, você não pode deixar a máquina decidir a remoção de pacotes, não importa o quão "inteligente" seja.
Você não quer que seu sistema meticulosamente configurado se comporte de forma estranha porque algum pacote foi removido automaticamente pelo apt.
Além disso, houve um tempo em que a atualização do kernel também era um grande negócio. Cabia aos administradores de sistemas determinar se a versão do kernel instalada seria atualizada ou não. Ubuntu e outras distribuições tornaram-no ligeiramente melhor nos últimos tempos.
Então, isso significa que, como um usuário Linux de desktop, você pode abandonar o apt-get upgrade
e confiar no dist-upgrade
o tempo todo? Temos uma sugestão melhor aqui.
Em vez disso, use o comando apt
Não, sério. apt-get
é um comando legado de baixo nível que pode fazer muitas coisas. É adequado para ser usado em scripts por outras ferramentas ou administradores de sistemas.
O comando apt
é uma versão simplificada e destina-se a usuários regulares e casuais. Ele faz as coisas um pouco melhor e mais simples do que o apt-get
.
Para atualizar seu sistema Ubuntu, use este comando:
sudo apt update && sudo apt upgrade
Ao contrário do apt-get upgrade
, o apt upgrade
pode instalar novos pacotes e, portanto, pode atualizar a versão do kernel Linux.
Há também apt full-upgrade
que é equivalente a dist-upgrade
.
Ficou claro?
Aqui estão alguns artigos para ajudá-lo:
Esperamos ter sido capazes de deixar as coisas claras e que você tenha uma melhor compreensão da diferença entre apt-get upgrade
e dist-upgrade
.
Mas se esse não for o caso e você ainda tiver algumas perguntas, por favor, nos avise na seção de comentários.