27 comandos 'DNF' (Fork of Yum) para la gestión de paquetes RPM en Linux
DNF también conocido como Dandified YUM es un administrador de paquetes de próxima generación para distribución basada en RPM. Se introdujo por primera vez en Fedora 18 y reemplazó a la utilidad YUM en la versión reciente de Fedora 22.
DNF tiene como objetivo mejorar los cuellos de botella de YUM, es decir, el rendimiento, el uso de la memoria, la resolución de dependencias, la velocidad y muchos otros factores. DNF realiza gestión de paquetes utilizando RPM, libsolv y la biblioteca hawkey. Aunque no viene preinstalado en CentOS y RHEL 7, puedes yum, dnf y usarlo junto con yum.
Quizás le interese leer más sobre DNF aquí:
- Razones detrás de la sustitución de Yum por DNF
La última versión estable de DNF es la 1.0 (en el momento de escribir esta publicación), que se lanzó el 11 de mayo de 2015. Esta (y todas las versiones anteriores de DNF) está escrita principalmente en Python y se publica bajo la licencia GPL v2.
Instalación de DNF
DNF no está disponible en el repositorio predeterminado de RHEL/CentOS 7. Sin embargo, Fedora 22 se entrega con DNF implementado oficialmente.
Para instalar DNF en sistemas RHEL/CentOS, primero debe instalar y habilitar el repositorio epel-release.
yum install epel-release
OR
yum install epel-release -y
Aunque no es ético usar '-y' con yum, ya que se recomienda ver qué se está instalando en su sistema. Sin embargo, si esto no te importa mucho, puedes usar '-y' con yum para instalar todo automáticamente sin la intervención del usuario.
A continuación, instale el paquete DNF usando el comando yum del repositorio epel-release.
yum install dnf
Después de que dnf se haya instalado correctamente, es hora de mostrarle 27 uso práctico de los comandos dnf con ejemplos que le ayudarán a gestionar paquetes en una distribución basada en RPM. fácil y eficazmente.
1. Verifique la versión DNF
Verifique la versión de DNF instalada en su sistema.
dnf --version
2. Listar repositorios DNF habilitados
La opción 'repolist' con el comando dnf mostrará todos los repositorios habilitados en su sistema.
dnf repolist
3. Enumere todos los repositorios DNF habilitados y deshabilitados
La opción 'repolist all' imprimirá todos los repositorios habilitados/deshabilitados en su sistema.
dnf repolist all
4. Enumere todos los paquetes disponibles e instalados mediante DNF
El comando “dnf list” enumerará todos los paquetes disponibles de todos los repositorios y paquetes instalados en su sistema Linux.
dnf list
5. Enumere todos los paquetes instalados mediante DNF
Mientras que el comando “dnf list” muestra todos los paquetes disponibles/instalados de todos los repositorios. Sin embargo, tiene la opción de enumerar solo los paquetes instalados usando la opción “lista de instalados” como se muestra a continuación.
dnf list installed
6. Enumere todos los paquetes disponibles usando DNF
De manera similar, la opción “lista disponible” enumerará todos los paquetes disponibles para instalar desde todos los repositorios habilitados.
dnf list available
7. Busque un paquete mediante DNF
Si no tiene idea del paquete que desea instalar, en tal situación puede usar la opción 'buscar' con el comando dnf para buscar el paquete que coincida con la palabra o cadena (por ejemplo, nano ).
dnf search nano
8. ¿Ves qué proporciona un archivo/subpaquete?
La opción dnf “proporciona” busca el nombre del paquete que proporciona un archivo/subpaquete específico. Por ejemplo, si desea encontrar qué proporciona '/bin/bash' en su sistema.
dnf provides /bin/bash
9. Obtener detalles de un paquete mediante DNF
Supongamos que desea conocer la información de un paquete antes de instalarlo en el sistema, puede usar el interruptor “info” para obtener información detallada sobre un paquete (por ejemplo, nano) como se muestra a continuación.
dnf info nano
10. Instalar un paquete con DNF
Para instalar un paquete llamado nano, simplemente ejecute el siguiente comando y automáticamente resolverá e instalará todas las dependencias requeridas para el paquete nano.
dnf install nano
11. Actualización de un paquete mediante DNF
Puede actualizar sólo un paquete específico (por ejemplo, systemd) y dejar todo el sistema intacto.
dnf update systemd
12. Verifique las actualizaciones del sistema usando DNF
Verifique las actualizaciones de todos los paquetes del sistema instalados en el sistema simplemente como.
dnf check-update
13. Actualice todos los paquetes del sistema mediante DNF
Puede actualizar todo el sistema, incluidos todos los paquetes instalados, con los siguientes comandos.
dnf update
OR
dnf upgrade
14. Eliminar/borrar un paquete mediante DNF
Para eliminar o borrar cualquier paquete no deseado (por ejemplo, nano), puede utilizar el interruptor “eliminar” o “erase” con el comando dnf para eliminarlo. .
dnf remove nano
OR
dnf erase nano
15. Eliminar paquetes huérfanos mediante DNF
Aquellos paquetes que se instalaron para satisfacer la dependencia pueden resultar inútiles si otras aplicaciones no los utilizan. Para eliminar esos paquetes huérfanos, ejecute el siguiente comando.
dnf autoremove
16. Eliminar paquetes almacenados en caché mediante DNF
Muchas veces nos encontramos con encabezados desactualizados y transacciones incompletas, lo que genera errores al ejecutar dnf. Podemos limpiar todos los paquetes almacenados en caché y encabezados que contienen información de paquetes remotos simplemente ejecutando.
dnf clean all
17. Obtenga ayuda sobre un comando DNF específico
Puede obtener ayuda de cualquier comando dnf específico (por ejemplo, limpiar) simplemente ejecutando el siguiente comando.
dnf help clean
18. Enumere todos los comandos y opciones de DNF
Para obtener una lista de ayuda sobre todos los comandos y opciones dnf disponibles, simplemente escriba.
dnf help
19. Ver historial de abandonos
Puede llamar a dnf History para ver la lista de comandos dnf ya ejecutados. De esta manera podrá saber qué se instaló/eliminó con marca de tiempo.
dnf history
20. Enumere todos los paquetes grupales
El comando “dnf grouplist” imprimirá todos los paquetes disponibles o instalados; si no se menciona nada, enumerará todos los grupos conocidos.
dnf grouplist
21. Instale un paquete de grupo usando DNF
Para instalar un grupo de paquetes agrupados como paquete grupal (por ejemplo, software educativo) simplemente como.
dnf groupinstall 'Educational Software'
22. Actualizar un paquete grupal
Actualicemos un paquete grupal (por ejemplo, software educativo) ejecutando el siguiente comando.
dnf groupupdate 'Educational Software'
23. Eliminar un paquete grupal
Podemos eliminar el Paquete de grupo (por ejemplo, Software educativo) como.
dnf groupremove 'Educational Software'
24. Instalar un paquete desde un repositorio específico
DNF hace posible instalar cualquier paquete específico (por ejemplo, phpmyadmin) desde un repositorio (epel) de forma tan sencilla como:
dnf --enablerepo=epel install phpmyadmin
25. Sincronizar los paquetes instalados con la versión estable
El comando “dnf distro-sync” proporcionará las opciones necesarias para sincronizar todos los paquetes instalados con la versión estable más reciente disponible desde cualquier repositorio habilitado. Si no se selecciona ningún paquete, se sincronizan todos los paquetes instalados.
dnf distro-sync
26. Reinstalar un paquete
El comando “dnf reinstall nano” reinstalará un paquete ya instalado (digamos nano).
dnf reinstall nano
27. Degradar un paquete
La opción "degradar" degradará el paquete nombrado (digamos acpid) a una versión inferior si es posible.
dnf downgrade acpid
Salida de muestra
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.
Mi observación: DNF no degrada el paquete como se supone que debe hacerlo. También se ha informado como error.
Conclusión
DNF es el administrador de paquetes de última generación YUM. Tiende a realizar una gran cantidad de procesamiento automáticamente, lo que, según creo, no será elogiado por muchos administradores de sistemas Linux experimentados. A modo de ejemplo:
- DNF no reconoce
--skip-broken
y no hay alternativa. - No hay nada como el comando 'resolvedep', pero puedes ejecutar dnf proporciona.
- No existe el comando 'deplist' para encontrar la dependencia del paquete.
- Excluir un repositorio significa que la exclusión se aplica a todas las operaciones, a diferencia de yum, que excluye esos repositorios solo en el momento de la instalación y las actualizaciones, etc.
Varios usuarios de Linux no están contentos con la forma en que se está moviendo el ecosistema Linux. Primero, Systemd eliminó init system v y ahora DNF reemplazará a YUM antes en Fedora 22 y más tarde en RHEL y CentOS.
¿Qué opinas? son distribuciones y todo el ecosistema Linux no valora a sus usuarios y actúa en contra de su voluntad. También se suele decir en la industria de TI: "¿¿Por qué arreglarlo si no está roto?", y ni init System V ni YUM están rotos.
Eso es todo por ahora. Déjame saber tus valiosos pensamientos en los comentarios a continuación. Dale me gusta y compártenos y ayúdanos a difundirnos.