Guía de DNF: Gestor de Paquetes en Fedora/RHEL/CentOS Stream
Introducción
DNF (Dandified YUM) es el gestor de paquetes moderno en distribuciones basadas en RPM como Fedora, RHEL y CentOS Stream. Reemplazó a YUM y ofrece mayor velocidad y manejo de dependencias.
Historia de DNF: El Sucesor de YUM
DNF (Dandified YUM) surgió en 2012 como un proyecto liderado por Red Hat para reemplazar a YUM (Yellowdog Updater Modified), el gestor de paquetes clásico de distribuciones RPM. Su desarrollo se basó en librerías modernas como libsolv (para resolución de dependencias) y hawkey (una API en Python), diseñadas para abordar las limitaciones de YUM:
- Lentitud: YUM usaba algoritmos ineficientes para resolver dependencias complejas.
- Código legacy: Su base (escrita en Python) era difícil de mantener y optimizar.
- Falta de características avanzadas: Como soporte para transacciones atómicas o integración con sistemas de metadata modernos.
En 2015, DNF se convirtió en el gestor predeterminado de Fedora 22, y posteriormente fue adoptado por RHEL 8+ y CentOS Stream. Su nombre «Dandified» (algo así como «elegante» o «mejorado») refleja su objetivo: ofrecer una experiencia más pulida y eficiente que YUM.

¿Por qué se planteó DNF?
La creación de DNF respondió a problemas técnicos críticos en la gestión de paquetes RPM:
- Resolución de dependencias insostenible:
- YUM usaba un algoritmo «glotón» (greedy) que, aunque simple, era lento y propenso a errores en sistemas con miles de paquetes.
- DNF integra libsolv, un resolvedor de dependencias basado en SAT (teoría de satisfacibilidad booleana), que es exponencialmente más rápido y preciso.
- Arquitectura modular:
- YUM era monolítico, mientras que DNF se diseñó como un conjunto de librerías reutilizables (ej:
libdnf
), facilitando su integración con otras herramientas (como PackageKit).
- YUM era monolítico, mientras que DNF se diseñó como un conjunto de librerías reutilizables (ej:
- Soporte para tecnologías emergentes:
- DNF incluyó desde el inicio compatibilidad con delta RPMs (descarga solo de diferencias para ahorrar ancho de banda) y módulos (colecciones de paquetes versionados, clave para RHEL 8+).
- Mantenimiento a largo plazo:
- Red Hat buscaba un sistema que pudiera escalar para entornos empresariales (como Cloud y contenedores), donde YUM ya no era viable.
Comandos Básicos
Comando | Descripción |
---|---|
sudo dnf update | Actualiza todos los paquetes del sistema. |
sudo dnf install <paquete> | Instala un paquete. |
sudo dnf remove <paquete> | Elimina un paquete. |
dnf search <palabra> | Busca paquetes en los repositorios. |
dnf info <paquete> | Muestra detalles de un paquete. |
Gestión de Repositorios
- Listar repositorios: dnf repolist
- Añadir un repositorio (ej: EPEL): sudo dnf install epel-release
- Habilitar/Deshabilitar repos: sudo dnf config-manager –set-enabled <repo-id> sudo dnf config-manager –set-disabled <repo-id>
Limpieza y Optimización
- Borrar caché: sudo dnf clean all
- Autoremove: Elimina paquetes huérfanos: sudo dnf autoremove
Ejemplos Prácticos
- Instalar Nginx: sudo dnf install nginx sudo systemctl start nginx
- Actualizar un paquete específico: sudo dnf update httpd
Interfaces Gráficas para DNF
GNOME Software (Fedora/RHEL)
- Descripción: La opción más común en Fedora Workstation. Es una tienda de aplicaciones estilo «app store» que usa DNF como backend.
- Funciones:
- Instalar/eliminar paquetes.
- Actualizar el sistema.
- Gestión de repositorios (básica).
- Acceso: Preinstalado en GNOME (búscalo como «Software» en el menú).
- Limitaciones: No expone todas las funciones avanzadas de DNF (ej: limpieza de caché o gestión de módulos).
KDE Discover (Plasma)
- Descripción: El equivalente a GNOME Software para entornos KDE.
- Funciones:
- Similar a GNOME Software, pero con integración de Flatpak y Snap.
- Requisitos: Instalarlo en Fedora KDE con:bash
- sudo dnf install discover
dnfdragora (Multi-distribución)
- Descripción: Un frontend gráfico independiente para DNF/YUM, escrito en Python (GTK3).
- Características:
- Soporte para transacciones (instalar/actualizar/eliminar).
- Gestión de repositorios.
- Historial de operaciones.
- Instalación:bash
- sudo dnf install dnfdragora

Cockpit (Web UI)
- Descripción: Panel de administración web para servidores (incluye gestión de paquetes).
- Funciones:
- Actualizaciones de paquetes.
- Instalación básica (no muestra todo el catálogo).
- Instalación:bash
- sudo dnf install cockpit sudo systemctl enable –now cockpit.socket
- Acceso:
https://tuserver:9090
.
¿Por qué no son tan populares?
- Enfoque en CLI: Los usuarios avanzados de Fedora/RHEL suelen preferir
dnf
por su velocidad y flexibilidad. - Alternativas modernas: Muchos usuarios optan por Flatpak/Snap para aplicaciones de escritorio (usando GNOME Software o Discover).
- DNF es ya «amigable»: Comparado con YUM, DNF tiene mensajes de error más claros y progreso detallado, reduciendo la necesidad de GUIs.
No dejes de leer nuestras otras guías sobre gestores de paquetes para tu distribución de Linux en nuestro blog.