Rocky Linux / Consultar paquetes instalados, archivos e historial con DNF y RPM
Los paquetes instalados en Rocky Linux se pueden verificar con dnf y rpm. Normalmente, se utiliza dnf, que muestra información del repositorio y dependencias juntas, y para consultar la base de datos RPM con precisión o verificar qué paquete posee un archivo, es conveniente usar rpm.
Ver la lista completa de paquetes instalados
DNF (Dandified YUM) es el gestor de paquetes de Rocky Linux. Los ejemplos de historial siguen la interfaz de DNF 4; compruebe la versión instalada con dnf --version. El siguiente comando muestra el nombre del paquete instalado, la versión y la fuente de instalación en forma de tabla.
dnf list --installed
Para listar los identificadores de los paquetes registrados en la base RPM, use el comando siguiente. La presentación habitual de rpm -qa incluye nombre, versión, lanzamiento y arquitectura; no devuelve únicamente el nombre.
rpm -qa | sort
Si el resultado es largo, se puede dividir en páginas con less o buscar solo los nombres necesarios con grep.
rpm -qa | sort | less
rpm -qa | grep -i postgresql
Verificación de la instalación y la información de un paquete específico
Cuando se conoce el nombre
rpm -q muestra el nombre y la versión exactos si el paquete está instalado; si no está instalado, devuelve un mensaje de error y un estado de salida distinto de 0.
rpm -q curl
dnf info --installed curl
Al buscar un comando o el paquete de un archivo
rpm -qf consulta qué paquete posee una ruta. Un enlace simbólico y su destino pueden pertenecer a paquetes distintos: use readlink -f cuando quiera consultar el destino real. Antes del ejemplo con python3, compruebe con type -a python3 que command -v devuelve la ruta de un ejecutable externo, en lugar de un alias o una función.
rpm -qf /usr/bin/curl
rpm -qf "$(readlink -f "$(command -v python3)")"
Los paquetes de repositorio que proporcionan comandos o archivos aún no instalados se buscan con dnf provides.
dnf provides '*/semanage'
Ver detalles de la versión, hora de instalación y origen
Usando el formato de consulta de RPM, se pueden mostrar sólo los elementos necesarios en el orden deseado. El ejemplo a continuación separa por tabulaciones el nombre del paquete, época·versión·lanzamiento y arquitectura.
rpm -qa --qf '%{NAME}\t%{EPOCHNUM}:%{VERSION}-%{RELEASE}\t%{ARCH}\n' | sort
El orden de los paquetes instalados recientemente se verifica de la siguiente manera.
rpm -qa --last | head -n 30
| Propósito de verificación | Comando recomendado |
|---|---|
| Lista completa de instalaciones | dnf list --installed o rpm -qa |
| Verificar paquete específico | rpm -q PAQUETE |
| Detalles del paquete | dnf info --installed PAQUETE |
| Paquete propietario del archivo | rpm -qf RUTA_ARCHIVO |
| Buscar paquete que proporciona el archivo | dnf provides '*/ARCHIVO' |
| Orden de instalación más reciente | rpm -qa --last |
Consultar motivos de instalación e historial de cambios
Elementos instalados por el usuario
En DNF 4, history userinstalled muestra paquetes que se conservan frente a la eliminación automática según su motivo de instalación: incluye los solicitados por el usuario, los de grupos o perfiles de módulos y los instalados fuera de DNF. Por tanto, no equivale a una lista exacta de los nombres que una persona escribió en órdenes de instalación.
dnf history userinstalled
La clasificación depende de los motivos y metadatos disponibles y no reconstruye por sí sola toda la intención del administrador o un historial de migraciones. Antes de planificar una limpieza, revise servicios y dependencias; no elimine paquetes automáticamente basándose en esta lista.
Historial de transacciones de DNF
El historial de instalaciones, actualizaciones y eliminaciones, así como los detalles de transacciones específicas, se pueden consultar de la siguiente manera.
dnf history
dnf history info ID_TRANSACCIÓN
Verificación de archivos instalados y cambios de configuración
rpm -V compara atributos registrados por RPM con los archivos actuales: tamaño, resumen de contenido, permisos y otros metadatos seleccionados. Revise tanto el estado de salida como los errores. Que no se detecten diferencias en lo verificado no demuestra la integridad de todos los archivos ni constituye una auditoría completa de seguridad.
sudo rpm -V openssh-server
Los archivos de configuración bajo /etc se marcarán como diferentes incluso si el administrador los cambió intencionalmente. No restaure inmediatamente los archivos si se muestran diferencias; compare los resultados con el historial de gestión de cambios y las copias de seguridad.
Guardar la lista de paquetes del servidor en un archivo
Para la respuesta ante fallos o migración, guardar el nombre, la versión y la arquitectura en texto facilita la comparación entre dos momentos o dos servidores.
rpm -qa --qf '%{NAME}\t%{EPOCHNUM}:%{VERSION}-%{RELEASE}\t%{ARCH}\n' | sort > installed-packages.tsv
Esta lista es un registro del estado en ese momento y no un script de instalación para ejecutar tal cual en otro servidor. Si la versión principal de Rocky Linux, los repositorios activos y los flujos de módulos, cuando existan, son diferentes, no se puede obtener la misma versión, por lo que se debe probar por separado el procedimiento de recuperación.
Problemas comunes
- Si el comando no se encuentra: En la instalación mínima, algunos complementos de DNF pueden faltar. Primero, verifique el paquete que proporciona el comando.
- Si el nombre es diferente de lo esperado: El nombre del ejecutable y el nombre del paquete pueden no coincidir, por lo que use
rpm -qfodnf provides. - Si las listas parecen diferentes entre sí:
dnfcombina y muestra los metadatos del repositorio, mientras querpmconsulta directamente la base de datos RPM local. Elija la herramienta adecuada para fines de comparación. - Si ocurre un error en la base de datos: Primero verifique si se están realizando otras operaciones de paquetes y no elimine arbitrariamente archivos de bloqueo o la base de datos.




