Rocky Linux / Gestionar paquetes, actualizaciones y repositorios con DNF
DNF (Dandified YUM) es la herramienta básica en Rocky Linux para buscar, instalar, actualizar y eliminar paquetes, así como para gestionar el historial de transacciones. Antes de ejecutar un comando, es fundamental verificar la lista de paquetes objetivo y los cambios en las dependencias, y en los servidores de producción, asegurarse de que los repositorios y el rango de actualizaciones estén claramente definidos antes de aplicarlos.
Versión de DNF y formato básico
Dependiendo de la versión de Rocky Linux, la implementación de DNF y el formato de salida pueden variar, por lo que primero se debe comprobar la versión. El formato de comando común es dnf [OPCIONES] COMANDO [OBJETIVO].
dnf --version
dnf --help
Los comandos de consulta se pueden ejecutar como usuario normal, pero para instalar, eliminar o actualizar el sistema se requieren privilegios de administrador.
Búsqueda de paquetes y verificación de información
Buscar por nombre y resumen
dnf search nginx
dnf info nginx
De forma predeterminada, dnf search busca en los nombres y resúmenes de paquetes. dnf search --all amplía la búsqueda a descripciones y direcciones del paquete. dnf info muestra detalles como versión, arquitectura y repositorio; examine las entradas si aparecen varias versiones o arquitecturas.
Buscar paquetes que proporcionen archivos o comandos
dnf provides '*/semanage'
dnf provides /usr/bin/rsync
Si no conoce la ruta exacta, puede usar comodines. Es más seguro rodear el patrón con comillas en la shell para que no se expanda primero.
Instalación y reinstalación de paquetes
sudo dnf install nginx
sudo dnf reinstall nginx
install resuelve las dependencias necesarias. reinstall requiere que el paquete ya esté instalado y que el mismo RPM esté disponible para descargar. No restablece necesariamente la configuración modificada por el administrador.
Los archivos RPM locales también pueden instalarse con DNF para que se resuelvan las dependencias desde el repositorio.
sudo dnf install ./example-package.rpm
Verificación y aplicación de actualizaciones
Consulta de elementos que se pueden actualizar
dnf check-update
dnf updateinfo list
dnf check-update puede devolver el código de salida 100 si hay actualizaciones disponibles. Si un script de shell no distingue esto de un código de error normal, puede interpretarlo erróneamente como un fallo en lugar de un estado "actualización disponible".
Actualizar todos los paquetes o paquetes específicos
sudo dnf upgrade
sudo dnf upgrade openssl
Las actualizaciones del kernel, la biblioteca C y los servicios principales pueden requerir reinicio o reinicio de servicios. En un entorno operativo, prepare primero los detalles de los cambios, el tiempo de mantenimiento y el método de reversión.
Eliminación de paquetes y limpieza de dependencias innecesarias
sudo dnf remove nginx
sudo dnf autoremove --assumeno
remove puede proponer eliminar paquetes que dependen del objetivo y dependencias que dejan de ser necesarias. Lea la lista completa antes de confirmar. autoremove --assumeno permite revisar la propuesta de limpieza sin aceptar su ejecución.
Gestión de listas de instalación y repositorios
Consulta de listas de paquetes
dnf list --installed
dnf list --available
dnf list --upgrades
Verificación del estado del repositorio
dnf repolist
dnf repolist --all
dnf repository-packages appstream list --available
Antes de activar un repositorio, compruebe su proveedor, la firma, el soporte y si puede sustituir paquetes de los repositorios habituales. Los nombres example-repo y package-name de los ejemplos son marcadores que debe reemplazar por valores existentes. Las opciones afectan a esa invocación; habilitar uno no deshabilita los demás repositorios.
sudo dnf --disablerepo='example-repo' upgrade
sudo dnf --enablerepo='example-repo' install package-name
Revisión del historial de transacciones y evaluación de reversión
dnf history
dnf history info ID_TRANSACCIÓN
sudo dnf history undo ID_TRANSACCIÓN
history undo puede fallar si el repositorio ya no proporciona la versión anterior necesaria o si las dependencias han cambiado después de la transacción. Tampoco es una función de copia de seguridad que revierta bases de datos, configuraciones o datos de aplicaciones, por lo que se debe preparar un método de reversión de operaciones por separado.
Gestión de caché y metadatos
| Comando | Propósito |
|---|---|
dnf makecache |
Descargar previamente los metadatos del repositorio activo. |
dnf clean metadata |
Eliminar los metadatos del repositorio almacenados. |
dnf clean packages |
Eliminar los archivos de paquetes que quedan en la caché. |
dnf clean all |
Limpiar la caché de DNF, incluidos metadatos y paquetes. |
No es necesario ejecutar clean all de manera habitual cada vez que ocurre un error de repositorio. Verificar primero la red, la hora del sistema, la dirección del repositorio y los mensajes de error de la firma GPG (GNU Privacy Guard) ayuda a identificar la causa.
Resumen de comandos de uso frecuente
| Propósito | Comando |
|---|---|
| Búsqueda | dnf search TÉRMINO |
| Verificación de información | dnf info PAQUETE |
| Instalación | sudo dnf install PAQUETE |
| Actualización | sudo dnf upgrade |
| Eliminación | sudo dnf remove PAQUETE |
| Paquete de archivos proporcionados | dnf provides '*/ARCHIVO' |
| Historial de transacciones | dnf history |
| Lista de repositorios | dnf repolist --all |
Cómo operar de manera segura
- Antes de usar la opción de confirmación automática, la lista de instalaciones o eliminaciones sugerida por DNF debe ser revisada primero por una persona.
- Para servidores importantes, haga una copia de seguridad de los datos y configuraciones antes de actualizar y pruebe los procedimientos de recuperación.
- Verifique la fuente de los archivos de repositorio y las claves GPG, y no mantenga activados permanentemente repositorios externos innecesarios.
- Varios servidores deben usar la misma instantánea de repositorio o procedimientos automatizados verificados para reducir las diferencias de versión.
Documentos de referencia
Puede consultar las opciones detalladas y el estado de finalización por comando en la documentación oficial de comandos de DNF.




