DNF - O Utilitário de Gerenciamento de Pacotes de Próxima Geração para Distribuições Baseadas em RPM
Uma notícia recente chamou a atenção de muitos usuários, profissionais e estudantes de Linux de que “DNF” (significa nada oficialmente) irá substituir o utilitário de gerenciamento de pacotes “YUM” em distribuições viz., Fedora, CentOS, RedHat, etc. que usam o RPM Package Manager.
A notícia foi bastante surpreendente e mais ou menos um gerenciador de empacotadores está associado à identidade de uma distribuição Linux que é responsável por instalar, atualizar e remover pacotes.
YUM (significa Yellowdog Updater, Modified) é um utilitário gratuito e de código aberto baseado em linha de comando lançado sob a Licença Pública Geral GNU e é escrito principalmente na linguagem de programação Python. YUM foi desenvolvido para gerenciar e atualizar RedHat Linux na Duke University, mais tarde obteve amplo reconhecimento e se tornou o gerenciador de pacotes do RedHat Enterprise Linux, Fedora, CentOS e outras distribuições Linux baseadas em RPM. É frequentemente chamado de “Seu Gerenciador de Pacotes”, frequentemente não oficialmente por profissionais Linux.
Leia também
- YUM (Yellowdog Updater, modificado) – 20 comandos para gerenciamento de pacotes
- RPM (Red Hat Package Manager) – 20 exemplos práticos de comandos RPM
A ideia de substituir Yum por DNF
Al¨ Kozumplík, o desenvolvedor do projeto DNF, é funcionário da RedHat. Ele diz:
“Pela primeira vez no ano de 2009, enquanto trabalhava no ‘Anaconda‘ – The System Installer, ele teve uma visão geral do funcionamento do Linux. Ele queria trabalhar em um projeto totalmente diferente que lhe permitisse explorar a ferramenta de empacotamento do Fedora.”
Ale¨ Kozumplík disse – ele está cansado de explicar que DNF não significa nada, é uma resposta de nome de gerenciador de pacotes, então é, nada mais. Tem que ser nomeado algo que não entre em conflito com YUM e por isso foi nomeado DNF.
Deficiências do Yum que levaram à fundação do DNF:
- A resolução de dependências de YUM é um pesadelo e foi resolvida em DNF com a biblioteca SUSE ‘libsolv’ e wrapper Python junto com C Hawkey.
- YUM não possui uma API documentada.
- Construir novos recursos é difícil.
- Não há suporte para extensões além do Python.
- Menor redução de memória e menos sincronização automática de metadados – um processo demorado.
Ale¨ Kozumplík diz que não tem outra escolha senão bifurcar o YUM e desenvolver o DNF. O mantenedor do pacote YUM não estava pronto para implementar essas mudanças. YUM tem cerca de 59.000 LOC, enquanto DNF tem 29.000 LOC (linhas de código).
O Desenvolvimento DNF
DNF mostrou sua presença no Fedora 18 pela primeira vez. O Fedora 20 foi a primeira distribuição Linux que permite aos usuários utilizar a funcionalidade do DNF no lugar do YUM.
Os desafios técnicos que a DNF enfrenta agora são – implementar todas as funções do YUM. Para um usuário normal, o DNF fornece download, instalação, atualização, downgrade e exclusão de pacotes. No entanto, ainda há pouco ou nenhum suporte para recursos como – pular pacotes quebrados durante a instalação, depuração, saída detalhada, habilitar repositório, excluir pacotes durante a instalação, etc.
DNF e a comparação de seu antecessor:
- Nenhum efeito da opção –skip-broken.
- Atualização de comando=atualização
- O comando resolvedep indisponível
- A opção skip_if_unavailable está ATIVADA por padrão
- O processo de resolução de dependências não é visível na linha de comando.
- Downloads paralelos em versões futuras.
- Desfazer histórico
- Delta-RPM
- Conclusão do bash
- Remover automaticamente, etc.
A integração do DNF com o fedora e posteriormente no ambiente comercial é questionada de tempos em tempos pelo RHEL. A versão mais recente é DNF 0.6.0, lançada em 12 de agosto de 2014.
Testando comandos DNF
Instale o dnf no fedora ou posterior no RHEL/CentOS usando o comando yum.
yum install dnf
Sinopse de usos.
dnf [options] <command> [<argument>]
Instale um pacote.
dnf install <name_of_package>
Exclua um pacote.
dnf remove <name_of_package>
Atualize e atualize o sistema.
dnf update
dnf upgrade
Nota: Como dito acima update=upgrade. Então. este pacote implementará algo como lançamento contínuo? – Uma questão futura.
O local padrão do arquivo de configuração dnf: /etc/dnf/dnf.conf.
Futuro do Projeto
Este projeto visa trazer mais transparência, bem como documentar o projeto de forma completa. O projeto é muito incipiente e o apoio da comunidade é necessário para integrá-lo. Muitas funções ainda precisam ser portadas e isso levará tempo. DNF será lançado oficialmente com o Fedora 22.
É tudo por agora. Estarei aqui novamente com outro artigo interessante em breve. Até então, fique atento e conectado. Não se esqueça de nos fornecer seus valiosos comentários nos comentários abaixo.