Linux / Comando dnf: pesquisar pacotes e revisar atualizações RPM

O comando dnf pesquisa, instala, remove e atualiza pacotes em distribuições baseadas em RPM, como Fedora, RHEL, Rocky Linux e AlmaLinux. Confira a implementação instalada e os repositórios ativos antes de escolher uma versão ou confirmar alterações nas dependências.

Um pacote RPM reúne software e informações sobre o que ele precisa para funcionar. O DNF usa os metadados dos repositórios — o catálogo de pacotes e versões — para resolver essas dependências. Para instalações comuns, isso facilita o trabalho em comparação com o uso direto de rpm para arquivos e registros locais, explicado em inglês; um RPM local também pode ser instalado pelo DNF quando suas dependências puderem ser satisfeitas.

Sintaxe básica e diferenças de implementação

dnf [opções] comando [pacotes...]

Essa linha descreve a sintaxe com nomes indicativos. Confirme a distribuição com cat /etc/os-release, a versão com dnf --version e as operações disponíveis com dnf help e man dnf. As opções e os padrões podem diferir entre o DNF tradicional e o DNF5, conforme a distribuição.

Os exemplos abaixo usam a interface tradicional do DNF. No DNF5, a documentação apresenta a consulta de atualizações como dnf5 check-upgrade e a consulta de repositórios como dnf5 repo list --enabled. Use os nomes indicados pelo manual da implementação que está instalada; não presuma que todas as opções de uma versão estão disponíveis em outra.

Consultas normalmente podem ser feitas sem privilégios de administrador, embora possam acessar a rede e renovar o cache de metadados. Instalar, remover e atualizar pacotes altera o sistema e normalmente exige privilégios, indicados por sudo. Antes dessas mudanças, confira espaço, conectividade e cópias dos dados e configurações importantes.

Exemplos de pesquisa, instalação e atualização

Pesquisar e examinar um pacote

dnf search nginx
dnf info nginx

A pesquisa pode retornar vários pacotes relacionados ao nginx, um servidor web. Em info, leia os campos de nome, versão, arquitetura e repositório e observe se a seção descreve um pacote instalado ou disponível. Encontrar um nome no catálogo não comprova que o programa esteja instalado.

Instalar após ler a proposta

Se você deseja instalar esse servidor, execute:

sudo dnf install nginx

Antes de confirmar, examine todos os pacotes que serão instalados, atualizados, substituídos ou removidos, além dos tamanhos de download e ocupação do disco. Dependências podem ampliar o conjunto de mudanças. Se a proposta não corresponder ao esperado, recuse a confirmação e investigue as versões e as fontes; não acrescente aprovação automática apenas para pular a leitura.

Depois da conclusão, dnf info --installed nginx permite consultar o registro instalado. O funcionamento de um serviço é outra verificação: em sistemas com systemd, consulte systemctl status nginx. A instalação do pacote não deve ser usada como prova de que um servidor está configurado e atendendo corretamente.

Consultar atualizações sem instalá-las

dnf check-update

Esse comando consulta candidatos a atualização; ele não os instala. No DNF tradicional, o código de saída 100 significa que há atualizações, 0 indica que nenhuma foi encontrada e 1 indica erro nessa consulta. Em scripts, não classifique automaticamente qualquer código diferente de zero como falha: capture o resultado imediatamente e trate o significado de cada valor.

No DNF5, dnf5 check-upgrade também documenta 100 quando há atualizações e 0 quando não há. Consulte o manual local para outras condições. Uma versão aparecer na consulta não garante que uma atualização posterior a instalará, pois a operação real ainda precisa satisfazer dependências e outras restrições.

Ler versão, arquitetura e origem

O comando dnf info mostra informações sobre pacotes instalados ou disponíveis:

dnf info bash

Exemplo ilustrativo de campos, sem uma versão ou um repositório fixados:

Name         : bash
Version      : ...
Architecture : x86_64
Repository   : ...

Os pontos omitem valores do exemplo, e x86_64 é somente a arquitetura ilustrada; outro sistema ou pacote pode mostrar outro valor. A versão e a origem reais dependem da distribuição, das fontes habilitadas e do momento da consulta. Leia também os cabeçalhos e o contexto, sem confundir um pacote disponível com um instalado.

Para separar as consultas, use dnf info --installed bash para o registro instalado e dnf info --available bash para os pacotes disponíveis. O DNF5 também documenta esses filtros na operação info. As informações em cache podem não refletir imediatamente mudanças no servidor; quando precisar renová-las, a opção --refresh, por exemplo em dnf --refresh info bash, solicita a atualização dos metadados antes da consulta, sem instalar o pacote.

  1. Confirme a implementação do DNF e as fontes habilitadas antes de decidir qual pacote usar.
  2. Pesquise o nome e leia a versão, a arquitetura e o repositório, distinguindo registros instalados de candidatos disponíveis.
  3. Consulte atualizações e revise o plano completo da instalação, remoção ou atualização desejada, inclusive dependências e possíveis substituições.
  4. Após autorizar e concluir a operação, confira o estado instalado e, quando houver um serviço, seu funcionamento. Leia os erros antes de repetir a operação ou mudar opções de resolução.

Operações principais

Operação Finalidade
search / info Pesquisa pacotes e apresenta detalhes sobre itens instalados ou disponíveis.
install / remove Instala ou remove pacotes e resolve as dependências envolvidas. Revise todos os itens da proposta.
check-update / upgrade No DNF tradicional, consulta candidatos ou aplica atualizações, respectivamente. No DNF5, a consulta é documentada como check-upgrade.
repolist No DNF tradicional, lista as fontes habilitadas por padrão. No DNF5, consulte dnf5 repo list --enabled.
history Consulta o histórico de transações de pacotes; as suboperações disponíveis dependem da implementação.

Atualizações, remoções e histórico

Para aplicar atualizações dos pacotes instalados, sudo dnf upgrade apresenta a proposta da operação real. Ela pode envolver bibliotecas, serviços e pacotes do kernel; planeje a manutenção e avalie a necessidade de reiniciar serviços ou o sistema. Não confunda uma lista de atualizações com uma confirmação de que elas já foram aplicadas.

A opção --allowerasing permite remover pacotes instalados para resolver dependências. Antes de considerá-la diante de um conflito, entenda quais pacotes seriam removidos e por que a proposta surgiu. Não a acrescente automaticamente, não misture fontes incompatíveis e não desative verificações de assinatura para contornar erros de repositório.

O histórico ajuda a identificar quais pacotes participaram de uma transação. Ele não substitui uma cópia de segurança dos dados e das configurações: uma operação inversa pode depender do estado atual do banco de pacotes e das versões disponíveis, e não recupera necessariamente alterações feitas por uma aplicação. Consulte a documentação da implementação antes de usar funções de desfazer ou reverter.

Pergunta frequente

Devo instalar pacotes com dnf ou rpm?

Para instalações e atualizações que precisam resolver dependências dos repositórios, DNF costuma ser a escolha adequada. rpm permite tratar diretamente arquivos RPM e o banco local de instalação. Um RPM local confiável também pode ser passado ao DNF, mas a instalação só será possível se as dependências e demais condições puderem ser atendidas.

Documentação oficial

A referência oficial de comandos do DNF tradicional descreve operações e códigos de saída. Para DNF5, consulte o manual geral do DNF5 e a documentação de check-upgrade e seus códigos de saída. Confira também dnf help no sistema para as opções efetivamente disponíveis.