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:
- 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:
--skip-broken
não é reconhecido pelo DNF e não há alternativa.- Não há nada como o comando ‘resolvedep’, mas você pode executar o dnf fornece.
- Não existe um comando ‘deplist’ para encontrar a dependência do pacote.
- 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.