- 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.
