
DNF5 tem como objetivo melhorar o gerenciamento de pacotes de software para melhorar o desempenho
Desde o desenvolvimento de Fedora 39 considerou o uso de DNF5 como padrão, mas por vários motivos essa alteração foi adiada e agora, em um esforço para melhorar a experiência do usuário e otimizar o desempenho do sistema, o Os desenvolvedores do Fedora lançaram a notícia de uma mudança significativa em seu gerenciador de pacotes dnf e recentemente no FESCo (Fedora Engineering Steering Committee) aprovou o uso padrão do gerenciador de pacotes DNF5 na próxima versão de outono do Fedora 41.
Esta proposta bprocurando mudar o atual gerenciador de pacotes DNF para DNF5, com o objetivo de oferecer uma série de melhorias e benefícios aos usuários do Fedora. Esta alteração pretende alterar não só o link simbólico /usr/bin/dnf que aponta para dnf-3, mas também implementar todo o trabalho que tem sido feito no desenvolvimento do DNF, o que representa uma melhoria significativa na gestão de pacotes em Fedora.
É mencionado que no Fedora 41 Os pacotes dnf, libdnf e dnf-cutomatic serão substituídos por DNF5 e uma nova biblioteca libdnf5. Além disso, o link simbólico /usr/bin/dnf apontará para o arquivo executável dnf5.
Embora A paridade total em funcionalidade ainda não foi alcançada Com ferramentas antigas, os desenvolvedores consideram a distribuição pronta para migração e os recursos ausentes podem ser implementados posteriormente.
Por exemplo, a funcionalidade de gerenciamento do histórico de transações por trás do comando “dnf History” ainda não está disponível. Também está em andamento o trabalho para integrar o suporte ao processo em segundo plano dnf5daemon no gerenciador de aplicativos de software GNOME. Testes adicionais são necessários para o mecanismo de atualização do sistema para a próxima versão (comando de atualização do sistema).
Inicialmente, o DNF substituiu o Yum, que foi escrito inteiramente em Python. Com o DNF, as funções de baixo nível foram reescritas em bibliotecas C separadas, como librepo, libcomps e outras, enquanto a estrutura e os componentes de alto nível permaneceram em Python.
No entanto, o projeto DNF5 busca uma unificação mais profunda reescrevendo os componentes restantes de gerenciamento de pacotes em C++ e movendo a funcionalidade principal para uma biblioteca separada chamada libdnf5, com uma API Python encapsulada por um wrapper em torno desta biblioteca.
La A adoção de C++ em vez de Python nos permitiu reduzir dependências e otimizar o desempenho por meio de compilação em código de máquina e melhorar a estrutura interna do sistema. O DNF5 é dissociado do PackageKit em favor do DNF Daemon, um novo processo em segundo plano que substitui a funcionalidade do PackageKit e fornece uma interface mais eficiente para gerenciar pacotes e atualizações, especialmente em ambientes gráficos.
Além disso, é mencionado que o trabalho está em andamento na implementação de plug-ins para dnf5 para corresponder ao conjunto de recursos do pacote dnf-plugins-core. Os plug-ins planejados incluem o plug-in de informações de depuração de instalação e o plug-in reposync. O DNF5 atualmente implementa um conjunto básico de recursos para gerenciamento de módulos, após a remoção do suporte à modularidade no Fedora 39.
DNF5 também introduziu melhorias na usabilidade do gerenciador de pacotes, como uma indicação visual mais clara do progresso das operações, suporte para o uso de pacotes RPM locais, a capacidade de exibir informações de transações concluídas e um sistema aprimorado de conclusão de entrada para bash. Estas melhorias contribuem para uma experiência mais eficiente e amigável para os usuários do Fedora.
Por fim, é mencionado que, para garantir uma transição tranquila, o caminho de atualização para usuários existentes do DNF está sendo cuidadosamente preparado. Assim que o dnf5 estiver disponível, ele substituirá o pacote dnf começando com o Fedora 41. Além disso, a compatibilidade com versões anteriores será fornecida através de um link simbólico /usr/bin/yum e do novo plugin dnf5, e um novo serviço daemonizado está sendo desenvolvido chamado dnf5daemon, usando a interface D-Bus, como alternativa ao uso do PackageKit. A integração com a UI do GNOME está em andamento.
Se você interessado em saber mais sobre o assunto, você pode verificar os detalhes no link a seguir