Como listar pacotes atualizáveis com o comando apt no Ubuntu

Como listar pacotes atualizáveis com o comando apt no Ubuntu

Você nem sempre tem que atualizar todos os pacotes de uma só vez. Você pode listar os pacotes upgradable no Ubuntu primeiro e, em seguida, decidir quais atualizar.

O comando apt é usado para gerenciamento de pacotes no Debian e Ubuntu. Embora você provavelmente já esteja familiarizado com as opções de instalação e remoção, o apt também fornece alguns recursos extras.

Um deles é a capacidade de ver todos os pacotes atualizáveis em seu sistema. E para exibi-los, tudo o que você tem que fazer é usar este comando no terminal:

Comandos para usar no terminal

apt list --upgradable

Como você pode notar, você nem precisa do sudo para listar os pacotes atualizáveis. Ele apenas lista os pacotes que podem ser atualizados. Não os atualiza.

Na verdade, o comando apt adiciona uma dica quando você executa o comando sudo apt update para atualizar o cache do repositório do pacote local.

Essa é uma das várias novas características que o apt adicionou em cima do comando apt-get mais antigo.

Vamos falar sobre isso com um pouco mais de detalhes.

Listando todos os pacotes atualizáveis

O que você deve saber aqui é que você só pode listar as atualizações disponíveis através do gerenciador de pacotes apt. Então, se você adicionou PPAs ou repositórios externos ao seu sources.list do sistema, você verá as atualizações deles.

Mas você não receberá atualizações para AppImage, Flatpak, Snap ou alguns outros formatos de paccotes aqui.

Em outras palavras, ele funciona apenas com pacotes do apt.

Então, para listar todos os pacotes atualizáveis no seu sistema Ubuntu ou Debian, você deve atualizar o cache do pacote local primeiro:

Comandos para usar no terminal

sudo apt update

E então seu sistema estará ciente das atualizações disponíveis dos pacotes. O comando apt informa quantos pacotes podem ser atualizados no final do comando de atualização:

O comando apt mostra o número de pacotes atualizáveis na parte inferior da saída de comando de atualização apt

Para ver qual pacote pode ser atualizado, execute o comando:

Comandos para usar no terminal

apt list --upgradable

Você deve ver uma saída como esta:

Listando todos os pacotes atualizáveis

Ele lista todos os pacotes atualizáveis em ordem alfabética com as informações sobre a versão atualmente instalada e a nova versão disponível do pacote.

guvcview/kinetic 2.0.8-2 amd64 [atualizáveis a partir de: 2.0.7-2-1]

Por exemplo, ele mostra que o sistema no exemplo tem a versão 2.0.7-2-1 da ferramenta guvcview, e a versão 2.0.8-2 está disponível.

O que você pode fazer com essa informação? Vamos compartilhar algumas coisas.

Atualizando todos os pacotes

Isso é provavelmente o que a maioria dos usuários casuais do Ubuntu fazem. Você pode atualizar todos os pacotes atualizáveis com o seguinte comando:

Comandos para usar no terminal

sudo apt upgrade

Ele lista quais pacotes serão atualizados e, em seguida, pede para confirmar a atualização pressionando Enter ou S.

Atualizando todos os pacotes

Se você tiver certeza sobre atualizar todos os pacotes, você pode pular a parte que pergunta Você quer continuar adicionando -y ao comando.

Comandos para usar no terminal

sudo apt upgrade -y

Simulando uma atualização (mas sem atualizar pacote algum)

Isto é o que as pessoas faziam antes do comando list. Com a opção para simular, você não faz nenhuma alteração. Ele só mostra quais pacotes serão instalados ou atualizados se você executar a atualização.

Comandos para usar no terminal

apt -s upgrade

Você não precisa usar sudo.

Executando uma simulação de atualização com comando apt

Atualizando apenas os pacotes selecionados

Se você está gerenciando um servidor Ubuntu e não deseja atualizar todos os pacotes, mas apenas um dos poucos selecionados (como MySQL/Ngnix), você pode fazer isso facilmente com o comando apt.

Comandos para usar no terminal

sudo apt --only-upgrade install nome-do-pacote

Na verdade, se você executar o comando de instalação apt em um pacote já instalado para o qual uma atualização está disponível, ele atualizará o pacote.

Com a opção --only-upgrade, você garante que um pacote só é atualizado (se ele já estiver instalado). Ele não instalará o pacote dado se ainda não estiver instalado.

Você também pode atualizar poucos pacotes selecionados fornecendo seu nome:

Comandos para usar no terminal

sudo apt --only-upgrade install pacote1 pacote2

Você também pode fazer o oposto e manter pacotes selecionados da atualização.

Comandos para usar no terminal

sudo apt-mark hold nome-do-pacote

Com isso, o pacote dado não será atualizado quando você atualizar todos os pacotes do sistema.

Você pode remover a retenção da atualização com este comando:

Comandos para usar no terminal

sudo apt-mark unhold nome-do-pacote

E sobre atualizações do kernel?

Isso é meio complicado.

Quando você executa o comando apt list --upgradable, ele mostra todos os pacotes que podem ser atualizados.

Mas se houver novas versões de kernel disponíveis, elas podem não ser mostradas, uma vez que o nome do pacote do kernel começa com linux-headers-x-y. É porque o sistema os trata como novos pacotes, não um upgrade no pacote já instalado linux-headers-a-b.

No entanto, você ainda veria o tipo de pacote linux-generic-hwe na lista de pacotes atualizáveis. Porque esse pacote será atualizado (com o kernel mais novo).

Conclusão

A capacidade de listar pacotes atualizáveis é um dos vários novos recursos que o comando apt trouxe sobre o comando apt-get mais antigo. Para mais sobre este tópico, você pode ler nossso artigo explicando a diferença entre os comandos apt e apt-get.

E você? Você vê um bom uso para este recurso?

Última atualização deste artigo: 11 de november de 2022