Pesquisa de site

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

  1. YUM (Yellowdog Updater, modificado) – 20 comandos para gerenciamento de pacotes
  2. 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:

  1. 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.
  2. YUM não possui uma API documentada.
  3. Construir novos recursos é difícil.
  4. Não há suporte para extensões além do Python.
  5. 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:

  1. Nenhum efeito da opção –skip-broken.
  2. Atualização de comando=atualização
  3. O comando resolvedep indisponível
  4. A opção skip_if_unavailable está ATIVADA por padrão
  5. O processo de resolução de dependências não é visível na linha de comando.
  6. Downloads paralelos em versões futuras.
  7. Desfazer histórico
  8. Delta-RPM
  9. Conclusão do bash
  10. 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.