Fedora 39 planeja migrar para DNF5, livre de componentes Python

Ben Cotton, que ocupa o cargo de Gerente de Programa Fedora na Red Hat, anunciou sua intenção de mudar o Fedora Linux para o gerenciador de pacotes DNF5 por padrão. O Fedora Linux 39 planeja substituir os pacotes dnf, libdnf e dnf-cutomatic pelo kit de ferramentas DNF5 e pela nova biblioteca libdnf5. A proposta ainda não foi considerada pelo FESCo (Fedora Engineering Steering Committee), responsável pela parte técnica do desenvolvimento da distribuição Fedora.

Ao mesmo tempo, o DNF substituiu o Yum, que foi escrito inteiramente em Python. No DNF, funções de baixo nível com alto desempenho foram reescritas e movidas para bibliotecas C separadas hawkey, librepo, libsolv e libcomps, mas a estrutura e os componentes de alto nível permaneceram em Python. O projeto DNF5 visa unificar bibliotecas de baixo nível existentes, reescrevendo os componentes restantes de gerenciamento de pacotes em Python em C++ e movendo a funcionalidade básica para uma biblioteca libdnf5 separada com a criação de um wrapper em torno desta biblioteca para salvar a API Python.

Usar C++ em vez de Python eliminará um grande número de dependências, reduzirá o tamanho do kit de ferramentas e melhorará o desempenho. Maior desempenho é alcançado não apenas através do uso de compilação em código de máquina, mas também através de melhor implementação da tabela de transações, otimização de carregamento de repositórios e reestruturação de banco de dados (bancos de dados com estado do sistema e histórico de operação são separados). O kit de ferramentas DNF5 é desacoplado do PackageKit em favor de um novo processo em segundo plano chamado DNF Daemon, que substitui a funcionalidade do PackageKit e fornece uma interface para gerenciar pacotes e atualizações em ambientes gráficos.

O retrabalho também proporcionará a oportunidade de implementar algumas melhorias que melhoram a usabilidade do gerenciador de pacotes. Por exemplo, o novo DNF fornece uma indicação mais visual do progresso das operações; adicionado suporte para uso de pacotes RPM locais para transações; adicionada a capacidade de exibir em relatórios sobre transações concluídas informações produzidas por scripts incorporados em pacotes; Foi proposto um sistema de preenchimento de entrada mais avançado para o bash.

Fonte: opennet.ru

Adicionar um comentário