Búsqueda de sitios web

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í:

  1. 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:

  1. DNF no reconoce --skip-broken y no hay alternativa.
  2. No hay nada como el comando 'resolvedep', pero puedes ejecutar dnf proporciona.
  3. No existe el comando 'deplist' para encontrar la dependencia del paquete.
  4. 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.