
la mayoría de la gente trata dnf como reemplazo directo yum Entonces detente ahí. Pero esto ignora muchas cosas que vale la pena aprender sobre DNF; resolución automática de dependencias, historial de transacciones con soporte completo para deshacer, transmisión de módulos y un sistema de complementos más allá de lo que proporciona yum.
No abandonar (Danhua Yum) Ha sido el administrador de paquetes preestablecido en Fedora desde Fedora 22 (2015) y en RHEL desde RHEL 8 (2019). Está disponible para RHEL 8/9/10, Rocky Linux, AlmaLinux, CentOS Stream y Fedora. Si todavía estás escribiendo yum En cualquiera de estos sistemas, generalmente está vinculado o tiene un alias a DNF.
Una diferencia importante en 2025/2026 es DNF5. DNF5 Es una reescritura completa de DNF en C++, ahora el administrador de paquetes predeterminado para DNF fedora41 y versiones posteriores, incluida la versión actual de Fedora 44.
En Fedora 41+, /usr/bin/dnf es un enlace simbólico /usr/bin/dnf5 Por motivos de compatibilidad con versiones anteriores, los comandos de este artículo siguen siendo válidos. Sin embargo, si está utilizando Fedora 41 o superior, escriba dnf5 Recomendaciones claras.
En el lado empresarial, RHEL 9, Rocky Linux 9, AlmaLinux 9 y RHEL 10 todavía usan DNF (dnf4) como administrador de paquetes predeterminado. DNF5 aún no ha reemplazado a DNF en estos sistemas.
Todos los ejemplos siguientes se probaron en RHEL 9, Rocky Linux 9 y Fedora 44. La sección dedicada a DNF5 al final de este artículo describe los cambios en Fedora 41+.
Requisitos previos: Necesita un sistema RHEL 8/9/10, Rocky Linux, AlmaLinux o Fedora que funcione. La mayoría de los comandos requieren privilegios sudo o root; los comandos no se comentan en consecuencia.
1. Paquete de instalación
sudo dnf install nginx
DNF resuelve e instala automáticamente todas las dependencias necesarias. También puedes instalar varios paquetes usando un solo comando:
sudo dnf install git curl wget vim
Para omitir el mensaje de confirmación, use -y. Esto es especialmente útil en scripts:
sudo dnf install -y nginx
2. Eliminar paquete
sudo dnf remove nginx
Esto elimina el paquete pero no elimina automáticamente todas sus dependencias. Si también desea eliminar paquetes instalados como dependencias y que ya no son necesarios, utilice autoremove Al contrario (ver Ejemplo 8).
Si has estado escribiendo yum Por costumbre, compártelo. DNF Tiene características que hacen que la administración de la suite sea realmente más rápida.
3. Actualizar un solo paquete
sudo dnf update nginx
En DNF, las actualizaciones y las mejoras son equivalentes. Ambos actualizan paquetes y manejan paquetes obsoletos, por lo que no existe una diferencia real entre los dos comandos.
4. Actualice todos los paquetes
sudo dnf update
Esto actualizará todos los paquetes instalados a las últimas versiones disponibles en los repositorios habilitados. Antes de realizar cualquier cambio, puede comprobar si hay actualizaciones disponibles:
sudo dnf check-update
check-update devolver código de salida 100 Cuando hay una actualización disponible y 0 Cuando el sistema esté actualizado. Esto lo hace útil en scripts y trabajos cron.
5. Paquete de búsqueda
dnf search nginx
Para buscar un nombre de paquete y una descripción de paquete, use:
dnf search all nginx
Los resultados incluyen el nombre de la suite, la arquitectura y un breve resumen. no necesitas sudo Se utiliza para búsquedas de paquetes.
6. Obtenga información del paquete
dnf info nginx
Esto muestra detalles como versión, lanzamiento, arquitectura, tamaño de instalación, repositorio de origen, resumen y descripción sin instalar el paquete.
Para ver información sobre los paquetes instalados:
dnf info --installed nginx
7. Listar los paquetes de software instalados
dnf list --installed
Para verificar si un paquete específico está instalado, use el siguiente comando para filtrar la salida comando grep:
dnf list --installed | grep nginx
Listar los paquetes disponibles en los repositorios habilitados (ya estén instalados o no):
dnf list --available
Sepa que los administradores del sistema todavía están usando rpm -qa | grep ¿Verificar paquetes instalados? comparte esto dnf list --installed Mucho más limpio.
8. Eliminar las dependencias no utilizadas
A medida que los paquetes se instalan y eliminan con el tiempo, es posible que algunas dependencias ya no sean necesarias. DNF puede identificar y eliminar estos paquetes huérfanos autoremove:
sudo dnf autoremove
Ejecútelo regularmente para mantener su sistema limpio. DNF solo elimina paquetes que están instalados como dependencias y que ya no son necesarios para ningún paquete instalado.
9. Limpiar caché DNF
DNF almacena metadatos de paquetes y RPM descargados en /var/cache/dnf. Si el repositorio devuelve datos obsoletos o tiene poco espacio en disco, puede borrar el caché:
sudo dnf clean all
Para limpiar solo los metadatos conservando el paquete descargado:
sudo dnf clean metadata
Después de limpiar los metadatos, siguiente paso comando dnf Descargue nuevos metadatos de todos los repositorios habilitados.
10. Ver registros de transacciones
DNF mantiene un registro de las transacciones de instalaciones, actualizaciones y eliminaciones de paquetes de software. Consulte las ofertas recientes:
dnf history
Es posible que vea el siguiente resultado:
ID | Command line | Date and time | Action(s) | Altered
-------+-------------------------------------+------------------+-----------+--------
12 | install nginx | 2026-08-14 09:31 | Install | 3
11 | update | 2026-08-12 14:05 | Upgrade | 47
10 | remove vim-enhanced | 2026-08-10 11:22 | Removed | 1
Cada transacción tiene una identificación única que puedes usar para verificar qué sucedió. Por ejemplo:
dnf history info 12
Esto muestra los paquetes afectados por la transacción 12 junto con otros detalles de la transacción.
11. Reversión de transacción
Una de las características más útiles de DNF es la capacidad de revertir transacciones anteriores utilizando su ID.
Por ejemplo:
sudo dnf history undo 12
DNF intenta revertir la transacción 12. Si la transacción instaló tres paquetes, estos paquetes se eliminarán. Si se actualiza un paquete, DNF intentará restaurar la versión anterior.
También puedes rehacer transacciones previamente deshechas:
sudo dnf history redo 12
El comando dnf History deshacer puede ser un salvavidas cuando los cambios de suite causan problemas inesperados. Comparte este mensaje para que tu equipo sepa que existe.
12. Degradar paquetes de software
Si hay problemas con una versión más reciente del paquete, puede degradarlo a una versión anterior disponible:
sudo dnf downgrade nginx
DNF selecciona la versión más alta disponible que sea anterior a la versión instalada actualmente.
Para instalar una versión específica, especifique la versión completa del paquete:
sudo dnf install nginx-1.24.0-1.el9.x86_64
13.Instale archivos RPM locales
Si descargó el archivo RPM manualmente, puede hacerlo pasando su ruta directamente a dnf install. a diferencia de rpm -iDNF puede resolver e instalar dependencias faltantes de sus repositorios configurados:
sudo dnf install /tmp/package.rpm
14. Listar y gestionar repositorios
Enumere todos los repositorios habilitados y su estado:
dnf repolist
Para ver repositorios habilitados y deshabilitados:
dnf repolist --all
Puede habilitar o deshabilitar un repositorio para un solo comando usando --enablerepo y --disablerepo:
sudo dnf install --enablerepo=crb curl sudo dnf update --disablerepo=epel
Para habilitar o deshabilitar permanentemente un repositorio:
sudo dnf config-manager --enable crb sudo dnf config-manager --disable epel
15. Agregar nuevo repositorio
Para agregar un nuevo repositorio usando su URL:
sudo dnf config-manager --add-repo
Los perfiles del repositorio se almacenan en /etc/yum.repos.d/. Después de agregar el repositorio, verifique que aparezca en la lista de repositorios:
dnf repolist
16. Instalar el grupo de paquetes de software
DNF admite grupos de paquetes, que son colecciones de paquetes relacionados que se pueden instalar juntos. Para ver los grupos disponibles:
dnf group list
Para instalar un grupo:
sudo dnf group install "Development Tools"
Para eliminar un grupo:
sudo dnf group remove "Development Tools"
17. Utilice el flujo de mod
notas:Modstream está disponible para RHEL 8/9, Rocky Linux y AlmaLinux. Fedora se demoduló en Fedora 39, por lo que en Fedora 40 y superiores puede instalar versiones de paquetes específicas directamente desde el repositorio o utilizar un repositorio de terceros.
En RHEL 9 y Rocky Linux 9, el módulo DNF le permite utilizar diferentes versiones de paquetes; por ejemplo, Node.js 18 o Node.js 20, sin necesidad de crear un nuevo repositorio de terceros:
# List available module streams dnf module list nodejs # Enable a specific stream sudo dnf module enable nodejs:20 # Install the module sudo dnf module install nodejs:20
Para cambiar a una transmisión diferente:
sudo dnf module reset nodejs sudo dnf module enable nodejs:22 sudo dnf module install nodejs:22
En RHEL 10, las transmisiones mod continúan siendo compatibles con un conjunto actualizado de transmisiones disponibles. correr dnf module list Vea el directorio actual en su sistema.
18. Encuentre qué paquete proporciona un archivo
Cuando falta un comando y necesita averiguar qué paquete lo proporciona, utilice dnf provides:
dnf provides /usr/bin/netstat dnf provides */netstat
Por ejemplo, el resultado podría verse así:
net-tools-2.0-0.62.20160912git.el9.x86_64 : Basic networking tools Repo : baseos Matched from: Filename : /usr/bin/netstat
Esto te dice, net-tools Paquetes disponibles /usr/bin/netstat.
19. Reinstale los paquetes de software
Si los archivos de un paquete están dañados o se eliminan accidentalmente, puede reinstalar el paquete sin cambiar su versión:
sudo dnf reinstall nginx
DNF descarga y reinstala la versión actualmente registrada como instalada.
20. Verifique y verifique los paquetes de software instalados.
Para comprobar si hay dependencias rotas entre los paquetes de software instalados:
sudo dnf check
Para verificar la integridad de los archivos instalados para un paquete específico con la base de datos RPM, use:
rpm -V nginx
Si todo está bien, este comando no producirá ningún resultado. Si ve alguna línea, significa que el archivo es diferente del paquete original. Esto puede ayudar a identificar archivos dañados o modificados accidentalmente.
¿Algún compañero ha migrado de Ubuntu a RHEL? Compartir este DNF es una de las primeras cosas a las que deben adaptarse.
DNF, YUM y DNF5: principales diferencias
| característica | Yum marcas | Mazmorra y luchador (dnf4) | Luchador de mazmorra 5 |
|---|---|---|---|
| idioma | Pitón | Pitón | C++ |
| Resolución de dependencia | Solucionador personalizado (propenso a errores) | libsolv (preciso) | libsolv (apresúrate) |
| API | indocumentado | registro completo | registro completo |
| Soporte de complementos | Sólo pitón | Pitón+C | Pitón + C + C++ |
| Historial de transacciones y reversiones | No | Sí | Sí |
| flujo de modificación | No | Sí (RHEL/Rocky) | Conceptos básicos (RHEL/Rocky) |
| Dependencias de Python | Sí | Sí | No |
| Uso de memoria | alto | medio | bajo |
| Predeterminado de | RHEL 6/7 | RHEL 8, Fedora 22 | Fedora 41+ |
| estado actual | Enlace simbólico DNF | Valores predeterminados en RHEL 8/9/10 | Configuración predeterminada en Fedora 41+ |
DNF5 en Fedora 41 y superior
Luchador de mazmorra 5 Es una reescritura completa de DNF en C++. Elimina la dependencia de Python, procesa metadatos más rápido, utiliza menos memoria y proporciona una interfaz de línea de comandos más limpia y consistente.
DNF5 se convirtió en el administrador de paquetes preestablecido en Fedora 41, lanzado en octubre de 2024, y seguirá siendo el administrador de paquetes preestablecido en versiones posteriores, incluido Fedora 44. En Fedora 41 y superiores, /usr/bin/dnf señalar a /usr/bin/dnf5por lo que los comandos de este artículo siguen funcionando como se esperaba. Sin embargo, se recomienda utilizar dnf5 explícitamente en el futuro.
La mayoría de los comandos en DNF y DNF5 son iguales. Aquí están las diferencias que vale la pena conocer.
Instalar, eliminar y actualizar: misma sintaxis básica
sudo dnf5 install nginx sudo dnf5 remove nginx sudo dnf5 upgrade sudo dnf5 upgrade nginx
Con DNF5, upgrade Este es el comando preferido para actualizar paquetes de software. update Todavía se puede usar como alias, pero actualizar es el comando canónico.
Búsqueda y Noticias: misma sintaxis
dnf5 search nginx dnf5 info nginx
Gestión de repositorios: indicadores ligeramente diferentes
DNF5 incluye config-manager Como subcomando integrado, no necesita un complemento por separado.
Agregar nuevo repositorio:
sudo dnf5 config-manager addrepo --from-repofile=
Para habilitar o deshabilitar un repositorio:
sudo dnf5 config-manager setopt epel.enabled=1 sudo dnf5 config-manager setopt epel.enabled=0
Limpiar caché
Para eliminar metadatos y paquetes almacenados en caché:
sudo dnf5 clean all
Propósito DNF5 check-upgrade como comando preferido en lugar de buscar actualizaciones. más viejo check-update Los comandos todavía se pueden utilizar como alias.
DNF5 nada todavía
Modflow en DNF5 en Fedora solo proporciona soporte básico. Fedora eliminó la modificación en Fedora 39, por lo que generalmente esto no tiene nada que ver con las versiones actuales de Fedora.
En RHEL y Rocky Linux, DNF4 sigue siendo el valor predeterminado y proporciona soporte completo de transmisión de módulos. DNF5 aún no es la configuración predeterminada en RHEL 9, RHEL 10, Rocky Linux o AlmaLinux, así que utilice el estándar dnf comandos en estos sistemas.
referencia rápida
| Orden | que hace |
|---|---|
dnf install pkg | instalar un paquete |
dnf remove pkg | Eliminar un paquete |
dnf update | Actualizar todos los paquetes |
dnf check-update | Lista de actualizaciones disponibles (sin cambios) |
dnf search pkg | Buscar por nombre |
dnf info pkg | Mostrar detalles del paquete |
dnf list --installed | Listar paquetes instalados |
dnf autoremove | Eliminar dependencias no utilizadas |
dnf clean all | borrar caché |
dnf history | Ver historial de transacciones |
dnf history undo N | Transacción de reversión N |
dnf downgrade pkg | Bajar a la versión anterior |
dnf provides */file | Encuentre qué paquete posee un archivo |
dnf repolist --all | Listar todos los repositorios |
dnf group install "name" | Instalar grupo de paquetes |
dnf module list | Lista de transmisiones mod disponibles (solo RHEL/Rocky) |
dnf reinstall pkg | Reinstalar sin cambiar de versión |
dnf check | Verificar dependencias rotas |
dnf5 upgrade | Actualizar todos los paquetes (Fedora 41+) |
dnf5 check-upgrade | Buscar actualizaciones sin aplicarlas (Fedora 41+) |
dnf5 history undo N | Transacción de reversión N (Fedora 41+) |
en conclusión
DNF No solo un sustituto yum. Le brinda una mejor resolución de dependencias, historial de transacciones, reversión de paquetes, administración de repositorios, grupos de paquetes y herramientas para buscar y solucionar problemas de paquetes.
Para RHEL, Rocky Linux, AlmaLinux y CentOS Stream, la familiaridad con dnf es una parte importante de la gestión de sistemas modernos basados en RPM. Si está utilizando Fedora 41 o superior, también deberá estar familiarizado con DNF5 y sus comandos más nuevos.
Una vez que comprenda estos comandos, la administración diaria de paquetes será más simple, segura y fácil de solucionar problemas, ya sea que esté instalando un único paquete de software o manteniendo un servidor Linux de producción.
¿Cuál es la primera tarea DNF que cree que ha automatizado en un servidor de producción? ¿Cuál es la única tarea que siempre ejecutas manualmente? Ponlo en los comentarios, el comando es simple, pero es importante saber dónde trazar la línea.
Si este artículo fue útil, Con alguien de tu equipo.








