DNF 5.4.0.0 lançado: veja as novidades e correções

A atualização essencial do gerenciador de pacotes do Fedora e RHEL traz suporte a Musl libc, automação via JSON e melhorias de segurança para builds reproduzíveis!

Escrito por
Emanuel Negromonte
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre...
  • O DNF 5.4.0.0 adiciona suporte nativo a saídas em formato JSON, facilitando a automação de infraestrutura com ferramentas como Ansible e pipelines de CI/CD.
  • A nova versão do DNF 5.4.0.0 inclui compatibilidade com a biblioteca Musl libc, otimizando o gerenciador de pacotes para uso em contêineres e sistemas embarcados.
  • Administradores de sistemas agora podem usar o DNF 5.4.0.0 para baixar pacotes de depuração e código-fonte diretamente via linha de comando com as novas flags dedicadas.
  • O gerenciamento de grupos de pacotes no DNF 5.4.0.0 foi corrigido, garantindo a atualização real de todos os itens do grupo e evitando a reinstalação de ambientes já presentes.
  • Com foco em segurança e auditoria, o DNF 5.4.0.0 passa a respeitar a variável SOURCE_DATE_EPOCH, assegurando previsibilidade e consistência criptográfica no histórico do sistema.

O DNF é o gestor de pacotes padrão de distribuições Linux baseadas em RPM, como o Fedora e o futuro Red Hat Enterprise Linux (RHEL) 10. Sendo uma reescrita completa em C++ do antigo sistema, atua como o motor responsável por instalar, atualizar e remover software do sistema operativo, garantindo maior velocidade, menor consumo de memória e uma API unificada através da biblioteca libdnf5. A versão 5.4.0.0 foca-se em melhorias de automação, suporte a novas bibliotecas base e correções no gestor de grupos de pacotes.

Principais novidades

A integração do DNF com scripts e ferramentas de automação recebeu uma expansão com a adição do formato de saída em JSON para os comandos check-upgrade e list. Isso elimina a necessidade de fazer parse de texto puro via ferramentas secundárias em pipelines de integração contínua (CI/CD) e automações de infraestrutura via Ansible.

A base de código agora suporta a biblioteca padrão C Musl, uma alternativa à tradicional glibc. O suporte a Musl indica que o DNF está preparado para correr em distribuições Linux focadas em contentores e sistemas embebidos com baixo footprint, expandindo o seu âmbito de uso além dos ambientes tradicionais.

O comando de download foi expandido para programadores e administradores de sistemas, ganhando as opções –debuginfo e –debugsource. Esta alteração permite descarregar os símbolos de depuração e o código-fonte empacotado diretamente dos repositórios para análise detalhada de falhas, criação de patches e leitura de crash dumps.

Impacto e repercussão

A versão 5.4.0.0 prepara tecnicamente o terreno para o lançamento do RHEL 10. O changelog menciona explicitamente a desativação da construção do módulo libdnf5-plugin-local em ambientes sinalizados como “RHEL >= 10”, o que indica ajustes finos na infraestrutura de pacotes que a Red Hat utilizará na sua próxima base corporativa.

O ecossistema de segurança e auditoria também foi contemplado com o aprimoramento do suporte a construções reprodutíveis (Reproducible Builds). O DNF 5.4.0.0 agora respeita a variável de ambiente SOURCE_DATE_EPOCH ao registar timestamps na base de dados de histórico e ao ordenar pacotes durante uma transação. Isso assegura consistência nas assinaturas e previsibilidade em deploys de alta segurança.

Resumo técnico

  • Implementado suporte de compilação para Musl libc.
  • Adicionada flag –json para estruturar a saída dos comandos check-upgrade e list.
  • Alterada a mecânica de atualização de grupos: o comando upgrade agora atualiza de facto todos os pacotes contidos num grupo.
  • O comando de transação e a base de dados de histórico passaram a honrar a variável SOURCE_DATE_EPOCH para ordenação de pacotes e gravação de timestamps.
  • Aumentado o requisito mínimo do RPM para a versão 4.19.0, necessário para o processamento de sysusers e tags do tipo {pre,post}untrans.
  • O VendorChangeManager foi atualizado para a versão 1.1, integrando filtragem baseada em pacotes para controlo granular na mudança de repositórios fornecedores.
  • O plugin manifest recebeu a flag –use-host-repos.
  • Corrigida a lógica de grupos (comps) para não tentar instalar ambientes e grupos de pacotes já presentes no sistema.
  • Incluído o método is_dep_satisfied na estrutura PackageQuery, agora invocado ativamente para verificações de repoclosure.
  • Adicionados translated_name e translated_description para grupos de componentes (comps) dentro do dnf5daemon.
  • Suporte adicionado para múltiplos diretórios de configuração de plugins.

Disponibilidade

O código-fonte do DNF 5.4.0.0 já se encontra consolidado no repositório oficial do projeto no GitHub. A versão empacotada em formato RPM começará a ser distribuída gradualmente através do processo de sincronização de mirrors nos repositórios de atualizações do Fedora (onde atua como o gestor de pacotes padrão), bem como no repositório Rawhide.

Compartilhe este artigo