Tutorial de Linux / APT e DNF: instalar, atualizar e remover pacotes
Um gerenciador de pacotes no Linux obtém programas e dependências dos repositórios configurados e cuida da instalação, atualização e remoção. Debian e Ubuntu usam ferramentas do APT, como apt; no Rocky Linux, usa-se dnf. Para atualizar com critério, separe a atualização das informações sobre pacotes disponíveis da alteração dos programas já instalados.
Esta aula trata de consulta, instalação e atualização de pacotes. Para administrar um programa instalado como serviço, consulte também a aula de estados e inicialização de serviços systemd, em inglês.
O escopo dos exemplos é uma máquina virtual com instalação convencional do Ubuntu 26.04 LTS ou do Rocky Linux 9. Contêineres, WSL, imagens mínimas e outras versões podem ter ferramentas, repositórios e serviços diferentes. Prepare recuperação pelo console e registre o ambiente antes de alterar o sistema; a aula de preparação da máquina virtual, em inglês apresenta essa organização. Use somente o ramo de comandos correspondente à sua distribuição.
Entender pacotes, repositórios e dependências
Um pacote reúne arquivos de software e metadados, como versão e dependências. Um repositório é uma fonte de pacotes fornecida pela distribuição ou adicionada por um administrador. Se o programa depender de uma biblioteca, o gerenciador pode propor instalá-la na mesma transação, isto é, no conjunto de alterações calculado para aquela operação. Antes de confirmar, confira a origem e todos os pacotes a instalar, atualizar, substituir ou remover.
O nome de um comando não garante a mesma versão ou o mesmo resultado em distribuições diferentes. Primeiro identifique o sistema e as ferramentas disponíveis; não execute o bloco APT e o bloco DNF como se fossem etapas consecutivas na mesma máquina:
cat /etc/os-release
command -v apt
command -v dnf
Os campos ID e ID_LIKE de /etc/os-release ajudam a identificar a distribuição e a família. O command -v mostra como o shell resolve o nome e retorna um estado não zero se não o encontrar; não certifica a política de pacotes nem que a ferramenta esteja configurada para aquela instalação. A ausência de um dos dois gerenciadores é esperada em muitos sistemas. Não instale o gerenciador de outra família apenas para reproduzir a tabela.
Comparar as tarefas básicas de APT e DNF
| Objetivo | Debian e Ubuntu: APT | Rocky Linux: DNF |
|---|---|---|
| Procurar um pacote | apt search tree |
dnf search tree |
| Consultar informações | apt show tree |
dnf info tree |
| Verificar atualizações disponíveis | sudo apt update e depois apt list --upgradable |
sudo dnf check-update |
| Instalar um pacote | sudo apt install tree |
sudo dnf install tree |
| Atualizar pacotes instalados | sudo apt upgrade |
sudo dnf upgrade |
| Remover um pacote | sudo apt remove tree |
sudo dnf remove tree |
O tree é apenas o pacote de exemplo: confira sua disponibilidade nos repositórios do sistema. Instalar, atualizar e remover altera a máquina; não execute as linhas da tabela apenas para ver uma saída. Registre se o pacote já estava instalado antes do exercício, para não removê-lo depois como se tivesse sido criado apenas para a prática.
No DNF do Rocky Linux 9, check-update retorna 100 quando encontra atualizações, 0 quando não encontra e 1 em caso de erro. Portanto, um retorno não zero não significa automaticamente falha nessa consulta. Em automação, um encadeamento simples com && também não executaria o comando seguinte quando a consulta retornasse 100; trate os estados explicitamente. A consulta pode atualizar metadados em cache, mas não instala as atualizações.
Usar APT no Debian ou Ubuntu
O APT gerencia pacotes do formato Debian, .deb. sudo apt update busca informações atuais dos repositórios configurados; ele não faz, por si só, o upgrade dos programas instalados. Examine os candidatos com apt list --upgradable e só então considere sudo apt upgrade. Execute uma linha de cada vez e confira o resultado antes de prosseguir:
sudo apt update
apt list --upgradable
sudo apt upgrade
O apt upgrade pode instalar novas dependências necessárias, mas não remove pacotes instalados para resolver a atualização. Se uma atualização exigir remoção, ela será mantida para outra decisão. O apt full-upgrade tem outro alcance e pode remover pacotes; não o use automaticamente como substituto porque um candidato ficou pendente. Antes de confirmar qualquer transação, leia as versões, os acréscimos, o volume de download e o espaço em disco.
Se a atualização dos índices apresentar falha, resolva a causa antes de instalar ou atualizar. Um índice antigo pode continuar disponível, e não é correto concluir que todas as fontes estão atualizadas só porque algumas responderam. Examine mensagens sobre rede, autenticação de repositórios e configuração sem desativar verificações de segurança para contorná-las. O apt é uma interface para uso interativo; em scripts, considere as ferramentas e opções estáveis indicadas pela distribuição, como apt-get.
Para um programa novo, pesquise e leia suas informações primeiro. No bloco seguinte, o terceiro comando instala o pacote; o último apenas consulta a versão do executável encontrado no ambiente:
apt search tree
apt show tree
sudo apt install tree
tree --version
Leia o resumo proposto e confirme apenas se os pacotes, a origem e o impacto forem adequados. Se a instalação terminar com sucesso, tree --version deve mostrar uma versão, cujo número depende do repositório. Isso verifica a execução do comando encontrado no PATH, não todas as funções do pacote. Se houver dúvida sobre qual executável está sendo usado, consulte command -v tree.
Se o pacote não for encontrado, confira distribuição, nome e repositórios habilitados. No Ubuntu recente, a configuração padrão das fontes usa /etc/apt/sources.list.d/ubuntu.sources; outras instalações podem usar arquivos diferentes. Inspecione a configuração do seu sistema antes de alterá-la. Não acrescente uma fonte desconhecida nem execute um script de instalação encontrado na internet apenas para fazer o exemplo funcionar.
Usar DNF no Rocky Linux
O Rocky Linux gerencia pacotes RPM com o DNF. No escopo do Rocky Linux 9 desta aula, consulte nome, descrição, versão e repositório com dnf search e dnf info; a instalação é solicitada com sudo dnf install. Informações de um pacote disponível não comprovam, sozinhas, que ele esteja instalado. Leia a transação e não acrescente -y para aceitar automaticamente alterações que ainda não avaliou.
dnf search tree
dnf info tree
sudo dnf install tree
tree --version
Aqui também o terceiro comando solicita a instalação, e o quarto verifica a versão do executável. Revise dependências, substituições e eventuais remoções antes de confirmar. Depois, leia o estado de saída e as mensagens, e verifique o resultado; não presuma que a última linha de um bloco prova que todas as anteriores tiveram sucesso. Para consultar quais repositórios estão habilitados, use dnf repolist --enabled.
Consultar atualizações e aplicá-las são ações diferentes. Execute a consulta abaixo, interprete o estado 0, 100 ou 1 e só depois decida sobre o upgrade. Se houver erro, investigue antes de continuar:
sudo dnf check-update
sudo dnf upgrade
O upgrade tenta atualizar para versões disponíveis cujas dependências possam ser resolvidas. Uma versão aparecer em check-update não garante que ela será instalada na transação seguinte: dependências, regras e o estado dos repositórios influenciam a solução. O DNF usa metadados conforme sua configuração de cache; quando precisar forçar a sincronização de metadados antes da consulta, a opção --refresh existe, mas falhas dessa sincronização precisam ser resolvidas.
Uma atualização normal de pacotes não é uma migração para a próxima versão principal do Rocky Linux. O guia oficial de versões principais orienta uma instalação nova com migração planejada dos dados e serviços, e não um upgrade no próprio sistema entre versões principais. Confira o procedimento da versão de destino, compatibilidade e recuperação antes de planejar essa mudança.
O que revisar antes e depois da alteração?
- Identifique família, versão e arquitetura do sistema e os repositórios habilitados. Confirme que o pacote venha de uma fonte oficial ou de outra fonte cuja confiança tenha sido estabelecida para aquele ambiente.
- Leia nome, versão, descrição e dependências. Um nome parecido não garante a mesma função, e um resultado de busca não comprova instalação.
- Revise acréscimos, atualizações, substituições, remoções e uso de disco na transação concreta. Em um servidor, prepare uma janela de manutenção e recuperação dos serviços; pacotes podem executar scripts ou reiniciar componentes.
- Após cada comando, confira o estado de saída e as mensagens. Diferencie o
100dednf check-updatede uma falha; verifique a versão do programa e o estado dos serviços afetados quando necessário. - Não presuma que seja possível desfazer tudo com outro comando. A recuperação depende de backups utilizáveis, versões ainda disponíveis, configurações e instruções da distribuição.
A necessidade de reiniciar serviços ou a máquina depende dos componentes alterados e da política de operação. Instalar um kernel novo não troca imediatamente o kernel em execução: uname -r mostra o que está rodando, e não todos os kernels instalados. Planeje um reinício quando necessário, considerando acesso pelo console e impacto nos serviços.
Cuidar da remoção e da limpeza
apt remove e dnf remove removem o pacote solicitado e podem propor outras alterações por dependências; leia o conjunto completo antes de aceitar. No APT, purge inclui a remoção de configurações gerenciadas pelo pacote, mas não significa apagar todos os arquivos pessoais ou dados que a aplicação tenha criado. O efeito concreto também depende dos scripts do pacote.
O autoremove procura dependências instaladas automaticamente que o gerenciador considera desnecessárias. Confira se a lista inclui algo que você ainda usa e se a classificação de instalação automática está correta. Não use a remoção como uma forma de backup ou como garantia de recuperar exatamente o estado anterior.
O dnf history ajuda a investigar transações anteriores. A existência de um registro não garante uma reversão completa: versões antigas podem não estar mais disponíveis, e configurações, dados, scripts executados e alterações de fontes externas podem exigir recuperação separada. Preserve os dados necessários antes da primeira mudança.
Fontes primárias
O guia de gerenciamento de pacotes do Ubuntu Server explica índices, instalação e atualizações. O manual apt(8), do Debian distingue upgrade, full-upgrade e o uso interativo. A referência de comandos do DNF documenta instalação, consulta, upgrade, remoção e histórico. O guia oficial de mudanças de versão do Rocky Linux descreve o alcance da migração entre versões principais.




