Gestión de paquetes Fedora con DNF

DNF es un administrador de paquetes de software en distribuciones RPM como Fedora, CentOS, OpenMandriva, RHEL y Mageia. Es un asistente de instalación que instala, actualiza y elimina paquetes y es el sucesor de YUM (Yellow-Dog Updater). Fue introducido en Fedora 18 y ha sido el administrador de paquetes predeterminado desde Fedora 22.

DNF o Dandified Yum calcula automáticamente las dependencias para determinar las acciones necesarias para instalar paquetes y mantenerlos. Con DNF, no tiene que instalar o actualizar paquetes usando el comando rpm manualmente.

Índice

Sistema de gestión de paquetes

Fedora utiliza un sistema de administración de paquetes basado en rpm (administrador de paquetes RPM) y otras herramientas como PackageKit (GUI), Gnome Package Manager (GUI), DNF, Yumex (Yum Extender), Yum (línea de comandos).

Ventajas de los sistemas de gestión de paquetes

  • Facilita la consulta de paquetes instalados y disponibles.
  • Puede eliminar fácilmente un paquete y sus archivos por completo.
  • Facilita la verificación de la integridad de los archivos del paquete.
  • Facilita la actualización de un paquete y la eliminación de todos los archivos de versiones anteriores, lo que podría dañar su sistema.
  • Puede degradar fácilmente a versiones anteriores.
  • Facilita al usuario la instalación o eliminación de grupos de paquetes.

Evite mezclar instalaciones y paquetes de origen

Algunas instancias requieren que instale software de una fuente, pero debe evitar mezclar instalaciones de origen e instalaciones empaquetadas.
He aquí al menos por qué:

  • No puede disfrutar de todas las ventajas que vienen con un sistema administrado por paquetes.
  • Las instalaciones de origen pueden sobrescribir, eliminar o cambiar los archivos de paquetes existentes rompiendo el paquete.
  • La instalación desde archivos de origen dificulta y hace casi imposible la depuración de problemas.
  • Los paquetes pueden incluir parches para trabajar con otros paquetes, pero las instalaciones de origen no lo hacen, lo que conduce a la pérdida de funcionalidad.
  • Las instalaciones de origen no se actualizarán con paquetes administrados por paquetes, lo que provocará fallas en las actualizaciones o actualizaciones del sistema.

Si falta el software en su instalación, debe intentar los siguientes pasos para obtener una versión empaquetada. Busque en Fedora usando dnf o yum, pruebe los repositorios de terceros disponibles o cree su propio paquete.

Características de DNF

  • Soporta múltiples repositorios.
  • Cuenta con una configuración e interfaz simples.
  • Cuenta con soporte para grupos de paquetes y grupos de repositorios múltiples.
  • Comportamiento consistente en RPM.
  • Se ejecuta tanto en Python 2 como en Python 3.
  • Incluye enlaces C para bibliotecas de nivel inferior como librepo, libcomps y hawkey.

Comandos disponibles

El comando DNF se puede utilizar exactamente como yum para buscar, instalar y eliminar paquetes.

Buscar un paquete

Antes de instalar un paquete, es posible que deba confirmar si existe en los servidores de Fedora. Utilice el nombre común de la aplicación con el comando de búsqueda DNF. Por ejemplo, para componer un documento con LaTeX en Fedora, necesita buscar e instalar la aplicación TeXstudio:

# sudo dnf search packagename
[tuts@fosslinux ~]$ sudo dnf search texstudio
texstudio.x86_64 : A feature-rich editor for LaTeX documents

Existe una coincidencia exacta para el paquete TeXstudio listado como texstudio.x86_64. El .x86_64 en el nombre indica la arquitectura de la CPU y, por defecto, su sistema Fedora instala paquetes con la arquitectura de la CPU correspondiente. Una vez que haya confirmado que el paquete se llama texstudio, puede instalarlo con dnf install.

Instale un paquete.

# dnf install packagename
$ sudo dnf install texstudio

Metadatos del paquete

A veces, los resultados de la búsqueda DNF no son precisos. A menudo es útil explorar los metadatos de un paquete, como la URL del proyecto, la licencia, la descripción detallada, etc. Utilice el comando DNF info para obtener los metadatos del paquete:

[tuts@fosslinux ~]$ dnf info texstudio 
TeXstudio
Mostrar información de TeXstudio

Encuentre un paquete que proporcione un archivo

Durante una búsqueda, el nombre de un paquete no siempre devuelve el resultado deseado. Por ejemplo, una consulta de búsqueda para una dependencia como qmake-qt5 devuelve 'No se encontraron coincidencias'.

$ dnf search qmake-qt5
No matches found.

Utilice dnf para ampliar su consulta de búsqueda en la base de datos DNF y determinar si algún recurso proporciona lo que está buscando o si es parte de un paquete más grande.

[tuts@fosslinux ~]$ sudo dnf provides texstudio
DNF proporciona
Display dnf proporciona texstudio

Los resultados del comando confirman que el paquete texstudio está disponible en el sistema como texstudio-3.0.1-1.fc33.x86_64, y otra versión, texstudio-3.1.2-1.fc33.x86_64 también está disponible en el repositorio de actualizaciones .

Encuentra archivos incluidos en un paquete

En ciertos casos, es posible que descubra que una aplicación ya está instalada en su sistema y desee saber qué paquete la puso en su sistema. Para conocer estos detalles, debe aplicar ingeniería inversa a la carga útil del paquete con el comando DNF repoquery con la opción –list. El comando mira los metadatos del repositorio sobre el paquete y devuelve una lista de todos los archivos proporcionados por el paquete especificado:

[tuts@fosslinux ~]$ sudo dnf repoquery --list texstudio
Repoquery de TeXstudio
Mostrar el repositorio de TeXstudio

Quitar un paquete

Si ya no necesita un paquete en su sistema, use dnf remove para desinstalarlo. El comando eliminará todos los archivos de paquetes instalados y cualquier dependencia innecesaria.

# dnf remove packagename
$ sudo dnf remove texstudio

En algunos casos, dos o más paquetes requieren la misma dependencia. En tales casos, el comando DNF remove no elimina la dependencia. Sin embargo, aún puede terminar con paquetes perdidos después de instalar y desinstalar muchas aplicaciones y paquetes. Para borrar cualquier paquete no utilizado, use dnf autoremove:

$ sudo dnf autoremove

Actualizaciones automáticas

El paquete DNF-automatic proporciona un servicio para la descarga e instalación automática de actualizaciones. Puede monitorear automáticamente las actualizaciones disponibles, enviar registros sobre paquetes descargados e informes de actualizaciones instaladas por correo electrónico. Es una alternativa a dnf-upgrade y se puede ejecutar automáticamente desde los temporizadores systemd o los trabajos cron.

Para instalar dnf-automatic RPM, ejecute el siguiente comando:

$ sudo dnf install dnf-automatic

De forma predeterminada, dnf-automatic ejecuta las configuraciones en el archivo /etc/dnf/automatic.conf. Las configuraciones predeterminadas solo se descargan pero no aplican los cambios a su sistema.

Para ejecutar dnf-automatic:

systemctl enable dnf-automatic.timer && systemctl start dnf-automatic.timer

Para comprobar el estado de dnf-automatic:

systemctl list-timers dnf-automatic-download.timer

Temporizadores disponibles para controlar dnf-automatic

Para descargar solo

# dnf-automatic-download.timer

Para descargar e instalar

# dnf-automatic-install.timer 

Para notificar a través de emisores configurados en /etc/dnf/automatic.conf

# dnf-automatic-notifyonly.timer - 

Actualizaciones del sistema

Puede actualizar los sistemas Fedora directamente con DNF o el complemento de actualización del sistema DNF.

Para actualizar su versión de Fedora directamente desde DNF:

$ sudo dnf upgrade --refresh

luego reinicie su sistema.

Para actualizar su sistema desde el complemento de actualización dnf.

Primero, instale el complemento con el siguiente comando:

$ sudo dnf install dnf-plugin-system-upgrade

Descargar paquetes actualizados:

$ sudo dnf system-upgrade download --releasever=34

Cambie el número –releasever = 34 si desea actualizar a una versión diferente. En nuestro caso, la última versión estable es 34. También puede usar 35 para actualizar a una versión ramificada o Rawhide para actualizar a Rawhide. Tenga en cuenta que una actualización del sistema Fedora solo se prueba y admite oficialmente en dos versiones como máximo (es decir, de 32 a 34).

Active el proceso de actualización y reinicie el sistema con el siguiente comando:

$ sudo dnf system-upgrade reboot

Agregar repositorios

Para agregar un nuevo repositorio de software, agregue un nuevo archivo con la extensión .repo (es decir, fedoraextra.repo) al directorio /etc/yum.repos.d/. Use dnf config-manager para agregar un repositorio recién creado con el siguiente comando:

# dnf config-manager --add-repo new_repository

Reemplace new_repository con la ruta al archivo .repo (es decir, fedoraextra.repo) que creó.

# dnf config-manager --add-repo /etc/yum.repos.d/fedoraextra.repo

Habilite los repositorios.

Para habilitar un repositorio recién creado, ejecute el siguiente comando como root:

$ sudo dnf config-manager --set-enabled new_repository

Reemplace el nuevo repositorio con el repositorio (es decir, fedoraextra) que creó.

$ sudo dnf config-manager --set-enabled fedoraextra

Eliminar y deshabilitar repositorios

Para deshabilitar un repositorio específico, ejecute el siguiente comando como root:

$ dnf config-manager --set-disabled new_repository

Reemplace new_repository con el ID de repositorio único (es decir, fedoraextra) que creó.

$ dnf config-manager --set-disabled fedoraextra

Habilitar repositorios de RPM Fusion

Los repositorios de software de terceros tienen políticas de licencia más liberales y proporcionan paquetes de software que Fedora excluye de sus versiones oficiales. Estos repositorios de software no están oficialmente afiliados ni respaldados por el Proyecto Fedora. Los usuarios deben tener cuidado al instalar software desde estos repositorios.
RPM Fusion es un repositorio mantenido por la comunidad que proporciona paquetes adicionales que no se pueden distribuir en Fedora por razones legales. También proporciona paquetes para Red Hat Enterprise Linux.

Ejecute el siguiente comando para habilitar el repositorio gratuito:

$ sudo dnf install  https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm

Ejecute el siguiente comando para habilitar el repositorio Nonfree:

$ sudo dnf install 
https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

Tenga en cuenta que debe confirmar las firmas del repositorio cuando instale paquetes por primera vez desde estos repositorios.

Otros comandos DNF comunes

  • dnf check-update: solo busca actualizaciones, pero no descarga ni instala el paquete.
  • dnf downgrade: vuelve a una versión anterior de un paquete instalado.
  • dnf reinstall: reinstala el paquete actual.
  • dnf upgrade: comprueba sus repositorios en busca de paquetes más nuevos y los actualiza todos.

Complementos DNF

Puede ampliar la funcionalidad principal de DNF con complementos Core DNF oficialmente admitidos o complementos DNF adicionales de terceros. Instale complementos con los siguientes comandos:

# dnf install dnf-plugins-core-PLUGIN_NAME
$ sudo dnf install dnf-plugins-core-versionlock
OR
# dnf install dnf-plugins-extras-PLUGIN_NAME

Complemento de bloqueo de versión DNF

El complemento DNF versionlock es parte de los complementos Core DNF y le permite limitar los paquetes incluidos en una transacción DNF. Puede enumerar qué versiones de paquetes específicos deben considerarse en una transacción dnf. Todas las demás versiones de los paquetes particulares se ignorarán.

Para usarlo, instale el complemento con el siguiente comando:

# dnf install dnf-plugins-core-(plugin)
$ sudo dnf install dnf-plugins-core-versionlock

Para bloquear la versión actual de un paquete:

$ sudo dnf versionlock add packagename

Para eliminar el bloqueo de la versión:

$ sudo dnf versionlock delete packagename

Para enumerar todos los paquetes bloqueados:

$ sudo dnf versionlock list

Para eliminar todos los paquetes bloqueados:

$ sudo dnf versionlock clear

Excluir paquetes de transacciones

En ciertos casos, es útil excluir paquetes específicos de transacciones y actualizaciones. Uno de esos escenarios es cuando una actualización incluye un error o una regresión. Este método es útil cuando se usa la aplicación de actualización GUI, que no especifica paquetes para excluir de una transacción.

Excluya un paquete con los siguientes comandos:

$ sudo dnf upgrade --exclude=packagename

También puede excluir un paquete usando /etc/dnf/dnf.conf o /etc/yum.repos.d/ para archivos de configuración de repositorio específicos.

excludepkgs=packagename

Para deshabilitar esta configuración, utilice –disableexcludes en los comandos dnf individuales.

Comandos DNF comparados con APT

Si está cambiando de distribuciones basadas en Debian o Ubuntu, estará familiarizado con el administrador de paquetes APT. Gestiona los paquetes .deb instalados por el programa DPKG. Podríamos decir que DNF es para .rpm como APT es para .deb, y aquí enumeramos algunos comandos APT comunes con sus equivalentes DNF.

Comandos APTComandos DNF
actualización apta
apt-get update
actualización de verificación dnf
actualización apta
actualización de apt-get
actualización dnf
apt actualización completa
apt-get dist-upgrade
dnf distro-sync o
actualización del sistema dnf
apto eliminar
apt-get remove
dnf quitar
apto purga
apt-get purge
---
apt autoremove
apt-get autoremove
dnf autoremove
búsqueda apta
búsqueda de apt-cache
búsqueda dnf

Instalación de la aplicación con el software GNOME

Como era de esperar, también puede utilizar la aplicación GUI del software GNOME para buscar, instalar y actualizar aplicaciones en su sistema Fedora.

Aplicación de software GNOME
Instalar aplicaciones usando el software GNOME

Puede explorar diferentes categorías para buscar una aplicación y luego hacer clic en el botón de instalación.
Alternativamente, puede descargar archivos .rpm o .flatpakref y abrirlos en el software GNOME para instalarlos.

Terminando

Incluso para los usuarios ocasionales de escritorio, conocer y utilizar el administrador de paquetes DNF es sencillo. Es una herramienta excelente y robusta para consultar e instalar aplicaciones, paquetes y software en Fedora.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir