Gerenciamento de Pacotes com dnf - Ferramenta Moderna para Sistemas Fedora e RHEL

Gerenciamento de Pacotes com dnf - Ferramenta Moderna para Sistemas Fedora e RHEL

O Que Voce Vai Aprender

  • Operacoes essenciais do dnf para sistemas Fedora e baseados em RHEL
  • Por que o dnf substituiu o yum e o que mudou
  • Como usar module streams, um recurso exclusivo do dnf nao disponivel no yum

Resumo Rapido

  • Instalar: sudo dnf install [pacote]
  • Atualizar tudo: sudo dnf update
  • Remover: sudo dnf remove [pacote]
  • Rollback: sudo dnf history undo [id]

O Que e o dnf?

dnf (Dandified YUM) e o sucessor do yum, o gerenciador de pacotes padrao desde o Fedora 22 e RHEL 8 / CentOS 8. Ele resolve dependencias mais rapido e usa menos memoria que o yum.

Distribuicoes suportadas: Fedora / RHEL 8+ / CentOS 8+ / AlmaLinux / Rocky Linux / Oracle Linux

Nao serve para Ubuntu/Debian

Ubuntu e sistemas baseados em Debian usam apt, nao dnf. O dnf e exclusivo para distribuicoes baseadas em RPM. Veja o artigo basico de apt/yum

Instalando e Removendo Pacotes

As operacoes mais fundamentais do dnf.

Instalar um pacote

sudo dnf install vim

Instalar multiplos pacotes de uma vez:

sudo dnf install vim git curl

Instalar a partir de um arquivo RPM local:

sudo dnf install ./package.rpm

Remover um pacote

sudo dnf remove vim

remove tambem remove pacotes que dependem do alvo. Use --no-autoremove para remover apenas o pacote especificado sem efeito cascata.

Remover dependencias orfas:

sudo dnf autoremove

Atualizando Pacotes

Atualizacoes regulares sao essenciais para a seguranca.

Atualizar todos os pacotes

sudo dnf update

dnf upgrade e um alias para dnf update -- ambos se comportam de forma identica.

Atualizar um pacote especifico

sudo dnf update vim

Aplicar apenas atualizacoes de seguranca

sudo dnf update --security

Verificar o que seria atualizado (sem aplicar)

dnf check-update

Buscando e Inspecionando Pacotes

Como investigar pacotes antes de instalar.

Buscar por palavra-chave

dnf search nginx

Buscar em nomes e descricoes de pacotes:

dnf search all nginx

Ver informacoes detalhadas do pacote

dnf info nginx

Mostra versao, arquitetura, tamanho, repositorio e descricao.

Listar pacotes instalados

dnf list installed

Listar todos os pacotes disponiveis (incluindo os nao instalados):

dnf list available

Verificar o status de um pacote especifico:

dnf list vim

Descobrir qual pacote fornece um comando

dnf provides /usr/bin/vim

Gerenciando Grupos de Pacotes

Grupos permitem instalar pacotes relacionados em conjunto.

Listar grupos disponiveis

dnf group list

Instalar um grupo

sudo dnf group install "Development Tools"

Ver conteudo de um grupo

dnf group info "Development Tools"

Gerenciando Repositorios

Como gerenciar fontes de pacotes.

Listar repositorios habilitados

dnf repolist

Incluir repositorios desabilitados:

dnf repolist --all

Adicionar o repositorio EPEL (RHEL/CentOS)

sudo dnf install epel-release

Desabilitar temporariamente um repositorio para uma instalacao

sudo dnf install [pacote] --disablerepo=epel

Gerenciando o Cache de Pacotes

Mantenha o uso de disco sob controle gerenciando o cache de downloads.

sudo dnf clean all

Atualizar a lista de pacotes sem descartar o cache:

sudo dnf makecache

Historico e Rollback

Um dos recursos mais poderosos do dnf: historico completo de operacoes com suporte a rollback.

Ver historico de operacoes

dnf history

Inspecionar uma operacao especifica

dnf history info 5

Desfazer uma operacao

sudo dnf history undo 5

Se uma atualizacao do sistema causar problemas, dnf history undo restaura o estado anterior -- invaluavel em ambientes de producao.

Module Streams

Module streams sao um recurso exclusivo do dnf que permite instalar e alternar entre multiplas versoes do mesmo software.

Listar modulos disponiveis

dnf module list

Ver detalhes de um modulo

dnf module info nodejs

Habilitar uma versao especifica e instalar

sudo dnf module enable nodejs:18
sudo dnf install nodejs

Alternar para um stream diferente

sudo dnf module reset nodejs
sudo dnf module enable nodejs:20
sudo dnf distro-sync

Apos alternar module streams, sempre execute dnf distro-sync para realinhar as versoes dos pacotes com o novo stream.

dnf vs yum

Operacao yum dnf
Instalar yum install dnf install
Remover yum remove dnf remove
Atualizar yum update dnf update
Buscar yum search dnf search
Remover orfaos yum autoremove dnf autoremove
Gerenciamento de modulos Nao suportado dnf module
Rollback Limitado dnf history undo

No RHEL 8+, o comando yum e um shim de compatibilidade que chama o dnf por baixo. Os comandos sao intercambiaveis, mas o dnf oferece mais recursos e melhor desempenho.

Proximas Leituras