O Fedora, uma das principais distribuições Linux, está considerando uma mudança significativa em seu sistema. A proposta, que foi anunciada publicamente para receber feedback da comunidade, sugere a alteração do gerenciador de pacotes padrão de dnf para dnf5. A proposta foi apresentada por Jan Kolarik e Jaroslav Mracek, ambos membros ativos da comunidade Fedora. A implementação desta mudança depende da aprovação do Comitê Diretor de Engenharia do Fedora.
Detalhes da Proposta
A mudança propõe alterar o provedor atual do link simbólico /usr/bin/dnf de dnf para dnf5. Atualmente, o destino do link simbólico é /usr/bin/dnf-3, fornecido pelo subpacote dnf, python3-dnf. Após a implementação desta mudança, o link simbólico apontará para /usr/bin/dnf5, fornecido pelo pacote dnf5.
Além disso, o pacote dnf5, servindo como o novo provedor do link simbólico /usr/bin/dnf, tornará obsoleto o pacote dnf começando com o Fedora 41. Após o lançamento deste pacote dnf5, atualizando o sistema ou a instalação do dnf5 substituirá o pacote dnf existente no sistema.
Paridade de Recursos com DNF
O objetivo é cobrir a maioria dos casos de uso disponíveis no pacote dnf existente. No entanto, existem alguns recursos que podem não ser implementados a tempo. No entanto, planejamos entregá-los numa fase posterior.
Suporte a Serviços em Segundo Plano
Um novo serviço daemonizado, dnf5daemon, utilizando a interface D-Bus, é preparado para clientes como um subpacote. Isto servirá como alternativa ou substituição para a camada PackageKit. A integração do suporte dnf5daemon na interface de usuário padrão do Fedora, GNOME Software, está atualmente em andamento.
Documentação de Mudanças na API
A interface pública passou por mudanças significativas para melhorar a experiência do usuário e remover componentes de código não utilizados e obsoletos. Para facilitar a migração do usuário para as novas interfaces CLI e API, um guia foi preparado cobrindo todas as diferenças em comparação com a interface fornecida pelo pacote dnf existente, junto com exemplos de casos de uso típicos.
Dias de Teste
Já foram realizados dois dias de teste dnf5 para o Fedora 38 e 39. Todos os problemas relatados foram documentados em nosso sistema de rastreamento upstream e os principais problemas devem agora ser resolvidos. Alguns desses problemas estavam relacionados à documentação do usuário, à melhoria dos resultados da linha de comando e à melhoria da experiência geral do usuário. Esses tópicos são os próximos em nossa lista de prioridades após completar a funcionalidade de comandos e plugins obrigatórios.
Cenários de Controle de Qualidade do Fedora
Iniciamos uma discussão sobre os requisitos para aceitar esta proposta do uma perspectiva de controle de qualidade. Foi mencionada uma lista de casos de teste e critérios relevantes, que revisaremos para garantir que cobrimos tudo.
Prontidão do Fedora CI
O projeto dnf também é implantado no pipeline de CI. Iniciamos comunicações com esta equipe para garantir que todas as funcionalidades do dnf usado lá já está implementado no dnf5 ou pode ser resolvido através de um método dnf5 alternativo. Já recebemos alguns comentários da primeira iteração da proposta.
Rastreando Problemas Upstream
Ao implementar a primeira iteração desta proposta, criamos um ticket para rastrear todos os bugs ou falta de funcionalidade necessária. Todos os itens foram resolvidos e restam apenas vários problemas de implantação conhecidos, que precisam ser gerenciados no momento da próxima troca.
Benefício para o Fedora
O novo dnf5 melhorará significativamente a experiência e o desempenho do usuário. Descrições detalhadas de áreas individuais são fornecidas abaixo.
Pegada Reduzida
O pacote dnf5 é um gerenciador de pacotes completo que não requer dependências do Python. Também reduz o número de ferramentas de gerenciamento de software no Fedora, substituindo os pacotes dnf e microdnf. O tamanho da instalação da pilha dnf5 em um contêiner vazio é aproximadamente 60% menor que a instalação do dnf. Atualmente, dnf, microdnf e PackageKit usam seu próprio cache, levando a uma redundância significativa de metadados. Com dnf5 e dnf5daemon, que compartilham metadados, essa redundância será eliminada.
Desempenho Aprimorado
Carregar e baixar metadados do repositório agora ocorrem simultaneamente. As operações de consulta de pacotes, incluindo o processamento de vários argumentos de linha de comando, foram significativamente aceleradas.
Custos de Manutenção Reduzidos
Muitas duplicatas funcionais no dnf foram eliminadas durante o desenvolvimento do novo gerenciador de pacotes dnf5. Isso ocorreu em parte porque a integração das bibliotecas PackageKit e dnf originais na biblioteca libdnf original nunca foi concluída. Os plug-ins agora estão incluídos no mesmo pacote que a funcionalidade principal.
Experiência de Usuário Unificada
Uma experiência de usuário consistente é oferecida aos usuários em servidores, estações de trabalho e contêineres, já que dnf5 é o único gerenciador de pacotes implantado lá. Os comandos dnf, yum e microdnf existentes serão vinculados ao dnf5, enquanto aliases de compatibilidade para casos de uso essenciais serão fornecidos para facilitar a migração.
Arquivos de Configuração Compartilhados
Os arquivos de configuração serão compartilhados entre os componentes dnf5. Os usuários da API encontrarão convenções de nomenclatura e estilo de código unificado. Várias interfaces de linguagem de script agora são fornecidas a partir de uma única fonte usando ligações SWIG (anteriormente CPython e SWIG).
Conclusão sobre a mudança para o DNF5 do Fedora
Em suma, a proposta de mudança para o DNF5 no Fedora representa um marco significativo na evolução do gerenciamento de pacotes na distribuição Linux. A mudança, que está atualmente sob análise pelo Comitê Diretor de Engenharia do Fedora, promete melhorar a experiência do usuário e o desempenho, reduzir a pegada e os custos de manutenção, e unificar a experiência do usuário em servidores, estações de trabalho e contêineres. A implementação desta mudança, no entanto, depende da aprovação do comitê e do feedback da comunidade. Com a proposta agora aberta para discussão pública, a comunidade Fedora tem a oportunidade de moldar o futuro do gerenciamento de pacotes na distribuição. A mudança proposta é um testemunho do compromisso contínuo do Fedora com a inovação e a melhoria contínua, e será interessante ver como a proposta se desenvolve nos próximos meses.
A documentação do DNF5 foi atualizada e você conferir todos os detalhes.