Pesquisa de site

27 Comandos 'DNF' (Fork of Yum) para gerenciamento de pacotes RPM no Linux


DNF, também conhecido como Dandified YUM, é um gerenciador de pacotes de próxima geração para distribuição baseada em RPM. Ele foi introduzido pela primeira vez no Fedora 18 e substituiu o utilitário YUM na versão recente do Fedora 22.

DNF visa melhorar os gargalos de YUM, ou seja, desempenho, uso de memória, resolução de dependências, velocidade e muitos outros fatores. DNF faz gerenciamento de pacotes usando RPM, libsolv e biblioteca hawkey. Embora não venha pré-instalado no CentOS e no RHEL 7, você pode yum, dnf e usá-lo junto com o yum.

Você pode gostar de ler mais sobre DNF aqui:

  1. Razões para substituir Yum por DNF

A última versão estável de DNF é 1.0 (no momento em que este post foi escrito), que foi lançada em 11 de maio de 2015. Ele (e todas as versões anteriores do DNF) é escrito principalmente em Python e é lançado sob a licença GPL v2.

Instalação do DNF

DNF não está disponível no repositório padrão do RHEL/CentOS 7. No entanto, o Fedora 22 vem com DNF implementado oficialmente.

Para instalar o DNF em sistemas RHEL/CentOS, você precisa primeiro instalar e ativar o repositório epel-release.

yum install epel-release
OR
yum install epel-release -y

Embora não seja ético usar ‘-y’ com yum, pois é recomendado ver o que está sendo instalado em seu sistema. No entanto, se isso não importa muito, você pode usar ‘-y’ com yum para instalar tudo automaticamente sem a intervenção do usuário.

Em seguida, instale o pacote DNF usando o comando yum do repositório epel-release.

yum install dnf

Depois que o dnf foi instalado com sucesso, é hora de mostrar 27 o uso prático dos comandos dnf com exemplos que ajudarão você a gerenciar pacotes em distribuição baseada em RPM de forma fácil e eficaz.

1. Verifique a versão DNF

Verifique a versão do DNF instalada em seu sistema.

dnf --version

2. Listar repositórios DNF habilitados

A opção ‘repolist‘ com o comando dnf exibirá todos os repositórios habilitados em seu sistema.

dnf repolist

3. Liste todos os repositórios DNF habilitados e desabilitados

A opção ‘repolist all’ imprimirá todos os repositórios habilitados/desabilitados em seu sistema.

dnf repolist all

4. Liste todos os pacotes disponíveis e instalados usando DNF

O comando “dnf list” listará todos os pacotes disponíveis de todos os repositórios e pacotes instalados em seu sistema Linux.

dnf list

5. Liste todos os pacotes instalados usando DNF

Enquanto o comando “dnf list” mostra todos os pacotes disponíveis/instalados de todos os repositórios. No entanto, você tem a opção de listar apenas os pacotes instalados usando a opção “listar instalados” conforme mostrado abaixo.

dnf list installed

6. Liste todos os pacotes disponíveis usando DNF

Da mesma forma, a opção “listar disponíveis” listará todos os pacotes disponíveis para instalação de todos os repositórios habilitados.

dnf list available

7. Procure um pacote usando DNF

Se, no caso, você não tem ideia sobre o pacote que deseja instalar, em tal situação você pode usar a opção 'pesquisar' com o comando dnf para procurar o pacote que corresponde à palavra ou string (digamos nano ).

dnf search nano

8. Veja o que fornece um arquivo/subpacote?

A opção dnf “fornece” encontra o nome do pacote que fornece arquivo/subpacote específico. Por exemplo, se você gostaria de encontrar o que fornece ‘/bin/bash‘ em seu sistema?

dnf provides /bin/bash

9. Obtenha detalhes de um pacote usando DNF

Suponhamos que você queira saber as informações de um pacote antes de instalá-lo no sistema. Você pode usar a opção “info” para obter informações detalhadas sobre um pacote (digamos nano), conforme abaixo.

dnf info nano

10. Instale um pacote com DNF

Para instalar um pacote chamado nano, basta executar o comando abaixo, ele resolverá e instalará automaticamente todas as dependências necessárias para o pacote nano.

dnf install nano

11. Atualizando um pacote usando DNF

Você pode atualizar apenas um pacote específico (digamos systemd) e deixar tudo intacto no sistema.

dnf update systemd

12. Verifique atualizações do sistema usando DNF

Verifique as atualizações de todos os pacotes do sistema instalados no sistema de maneira simples.

dnf check-update

13. Atualize todos os pacotes do sistema usando DNF

Você pode atualizar todo o sistema, incluindo todos os pacotes instalados, com os seguintes comandos.

dnf update
OR
dnf upgrade

14. Remover/apagar um pacote usando DNF

Para remover ou apagar qualquer pacote indesejado (digamos nano), você pode usar a opção “remove” ou “erase” com o comando dnf para removê-lo .

dnf remove nano
OR
dnf erase nano

15. Remova pacotes órfãos usando DNF

Esses pacotes que foram instalados para satisfazer dependências podem ser inúteis se não forem usados por outras aplicações. Para remover esses pacotes órfãos, execute o comando abaixo.

dnf autoremove

16. Remova pacotes em cache usando DNF

Muitas vezes encontramos cabeçalhos desatualizados e transações inacabadas que resultam em erros durante a execução do dnf. Podemos limpar todos os pacotes e cabeçalhos em cache contendo informações de pacotes remotos simplesmente executando.

dnf clean all

17. Obtenha ajuda sobre comandos DNF específicos

Você pode obter ajuda de qualquer comando dnf específico (digamos clean) apenas executando o comando abaixo.

dnf help clean

18. Liste todos os comandos e opções DNF

Para listar a ajuda sobre todos os comandos e opções dnf disponíveis, basta digitar.

dnf help

19. Ver histórico de DNF

Você pode chamar o histórico do dnf para ver a lista de comandos dnf já executados. Desta forma você pode saber o que foi instalado/removido com carimbo de data/hora.

dnf history

20. Liste todos os pacotes de grupo

O comando “dnf grouplist” irá imprimir todos os pacotes disponíveis ou instalados, se nada for mencionado, irá listar todos os grupos conhecidos.

dnf grouplist

21. Instale um pacote de grupo usando DNF

Para instalar um grupo de pacotes agrupados como um pacote de grupo (digamos Software Educacional) simplesmente como.

dnf groupinstall 'Educational Software'

22. Atualizar um pacote de grupo

Vamos atualizar um pacote de grupo (digamos software educacional) executando o comando abaixo.

dnf groupupdate 'Educational Software'

23. Remover um pacote de grupo

Podemos remover o pacote do grupo (digamos Software Educacional) como.

dnf groupremove 'Educational Software'

24. Instale um pacote de um repositório específico

O DNF torna possível instalar qualquer pacote específico (digamos phpmyadmin) de um repositório (epel) tão simplesmente quanto,

dnf --enablerepo=epel install phpmyadmin

25. Sincronize os pacotes instalados para a versão estável

O comando “dnf distro-sync” fornecerá as opções necessárias para sincronizar todos os pacotes instalados com a versão estável mais recente disponível em qualquer repositório habilitado. Se nenhum pacote for selecionado, todos os pacotes instalados serão sincronizados.

dnf distro-sync

26. Reinstale um pacote

O comando “dnf reinstall nano” irá reinstalar um pacote já instalado (digamos nano).

dnf reinstall nano

27. Downgrade de um pacote

A opção “downgrade” fará o downgrade do pacote nomeado (digamos acpid) para uma versão inferior, se possível.

dnf downgrade acpid
Saída de amostra
Using metadata from Wed May 20 12:44:59 2015
No match for available package: acpid-2.0.19-5.el7.x86_64
Error: Nothing to do.

Minha observação: DNF não rebaixou o pacote como deveria. Também foi relatado como bug.

Conclusão

DNF é o gerenciador de pacotes YUM de última geração. Ele tende a fazer muito processamento automaticamente, o que não será elogiado por muitos administradores de sistemas Linux experientes, como acredito. A título de exemplo:

  1. --skip-broken não é reconhecido pelo DNF e não há alternativa.
  2. Não há nada como o comando ‘resolvedep’, mas você pode executar o dnf fornece.
  3. Não existe um comando ‘deplist’ para encontrar a dependência do pacote.
  4. Você exclui um repositório, significa que a exclusão se aplica a todas as operações, ao contrário do yum, que exclui esses repositórios apenas no momento da instalação e atualizações, etc.

Vários usuários do Linux não estão satisfeitos com a forma como o ecossistema Linux está se movendo. Primeiro o Systemd removeu o init system v e agora o DNF substituirá o YUM mais cedo no Fedora 22 e mais tarde no RHEL e CentOS.

O que você acha? são distribuições e todo o ecossistema Linux não está valorizando seus usuários e agindo contra sua vontade. Também é frequentemente dito na indústria de TI – “Por que consertar, se não está quebrado?”, e nem o init System V está quebrado nem o YUM.

É tudo por agora. Por favor, deixe-me saber seus pensamentos valiosos nos comentários abaixo. Curta e compartilhe-nos e ajude-nos a divulgar.