No Fedora 44, o dnf é o dnf5
No Fedora 44, o comando dnf é o dnf5. Você pode confirmar assim:
dnf --version
O que vi em um contêiner do Fedora 44 foi dnf5 version 5.4.3.0. Os comandos e saídas deste artigo foram executados nesse contêiner, com arquitetura aarch64. Para consultar o número da versão do sistema, use:
rpm -E %fedora
Se a saída for 44, é Fedora 44. O arquivo de configuração principal é /etc/dnf/dnf.conf, e as definições de repositórios ficam em /etc/yum.repos.d/. Para ver quais repositórios estão habilitados, observe a saída deste comando:
dnf repolist
No meu contêiner, os habilitados por padrão eram fedora, fedora-cisco-openh264 e updates; o updates-testing não estava habilitado. Na sua máquina, vale o que aparecer na sua própria saída.
Configurações de repositórios de terceiros, drivers e afins feitas após a instalação já foram tratadas em outro artigo deste site; não vou repetir aqui. Este artigo trata apenas de como gerenciar software no dia a dia depois de tudo instalado e de como reverter quando algo dá errado.
Instalar, buscar, consultar
Instalar exige sudo; buscar e consultar, não:
sudo dnf install htop
dnf search htop
dnf info htop
O resultado de dnf search indica os campos que deram correspondência. Matched fields: name (exact) são pacotes com nome exatamente igual; Matched fields: name são pacotes com esse termo no nome — ao buscar htop, este último traz também pcp-htop. O dnf info mostra os campos Name, Version, Release, Architecture, Installed size e Source.
Grupos de software são vistos com dnf group list, que lista ID, Name e se estão instalados, por exemplo office (Office/Productivity), kde-education e kde-media.
Upgrade diário:
sudo dnf upgrade
Algumas opções úteis, todas documentadas em dnf upgrade --help:
--minimal: atualiza apenas para a versão mínima que corrige avisos dos tipos bugfix, enhancement, security e newpackage.--allowerasing: permite remover pacotes instalados para resolver conflitos. Antes de executar, leia o resumo da transação e confirme que você não precisa dos pacotes que serão removidos.--skip-unavailable: pula pacotes indisponíveis.--from-repo=REPO_ID: seleciona pacotes apenas do repositório indicado.
Histórico de transações e reversão
O dnf5 registra cada instalação, upgrade e remoção como uma transação:
dnf history list
A lista mostra o ID da transação, a linha de comando usada, o horário e o número de alterações. No contêiner, executei um dnf -y install htop, que foi registrado como uma transação com 2 alterações: htop e a dependência hwloc-libs. Detalhes com:
dnf history info 3
Você verá o estado da transação, o Releasever usado e, em Packages altered, a ação, o motivo e o repositório de origem de cada pacote. O motivo de htop é User; o de hwloc-libs é Dependency.
Para desfazer uma operação, use undo:
sudo dnf history undo 3
Executei de verdade: ele removeu htop e hwloc-libs juntos, e o sistema voltou ao estado anterior à instalação. Os subcomandos de history incluem ainda:
redo: repete as ações da transação indicada.rollback: desfaz todas as transações realizadas depois da transação indicada. Atenção: o alcance é maior que o doundo.store: marcado como experimental na ajuda; não dependa dele em ambiente de produção.
Limpeza e verificação de reinício
Para remover pacotes que não são mais dependência de outros:
sudo dnf autoremove
Ele tem a opção --offline, que armazena a transação para executar na reinicialização, com o mesmo mecanismo do upgrade de sistema descrito abaixo.
Depois de atualizar uma biblioteca, os processos em execução continuam usando a versão antiga. O needs-restarting ajuda a encontrar esses processos e serviços:
dnf needs-restarting
-s,--services: lista os serviços systemd iniciados antes de suas dependências serem atualizadas.-p,--processes: lista os processos iniciados antes de suas dependências serem atualizadas.-e,--exclude-services: usado junto com--processes, exclui processos gerenciados por serviços systemd.-r,--reboothint: não tem efeito no dnf5; foi mantido apenas para compatibilidade com o DNF 4. O que oneeds-restarting -rfazia no DNF 4 é o comportamento atual dednf5 needs-restarting.
Upgrade offline para uma nova versão maior
Na era do DNF 4, era preciso instalar o plugin dnf-plugin-system-upgrade. No Fedora 44, o system-upgrade já vem embutido no DNF5, sem necessidade de instalação. O fluxo do upgrade offline são três comandos:
sudo dnf upgrade --refresh
sudo dnf system-upgrade download --releasever=<VERSION>
sudo dnf system-upgrade reboot
O primeiro atualiza a versão atual para a mais recente e renova os metadados. O segundo baixa tudo o que é preciso para o upgrade para a versão de destino; após --releasever, informe o número da versão alvo. O terceiro prepara a transação offline e reinicia; o sistema conclui o upgrade durante a inicialização seguinte.
O system-upgrade tem ainda três subcomandos auxiliares:
status: mostra o estado da transação offline atual. Se não houver nenhuma, a saída éNo offline transaction is stored.log: mostra os registros das transações offline anteriores.clean: remove as transações offline armazenadas e os pacotes em cache. Ele apaga o que já foi baixado; antes de executar, confirme que esse download não precisa ser mantido.
Antes de fazer um upgrade de versão maior, consulte a documentação oficial de upgrade offline do Fedora para confirmar pré-requisitos e cuidados. Os comandos e a lista de subcomandos acima vêm da saída de ajuda observada no contêiner Fedora 44; não houve citação literal da documentação oficial.
Como reverter quando algo dá errado
Se uma instalação ou upgrade deixar algo estranho, primeiro consulte o histórico para achar o ID da transação e depois faça o undo:
dnf history list
dnf history info <ID-da-transação>
sudo dnf history undo <ID-da-transação>
O history info permite ver com clareza quais pacotes a transação alterou, antes de desfazê-la.
Se depois de um --allowerasing você perceber que removeu demais, também é possível usar undo para reverter aquela transação. Para voltar a um estado anterior mais antigo, use rollback, que desfaz todas as transações realizadas depois da indicada — por isso, antes de agir, use dnf history list para ver exatamente quais registros serão afetados.


