Introducción
El comando rpm es la herramienta básica para gestionar paquetes en formato .rpm, utilizado principalmente en distribuciones como Red Hat Enterprise Linux, CentOS, Fedora y openSUSE. Aunque hoy en día muchos administradores prefieren yum o dnf, conocer rpm permite realizar operaciones de bajo nivel, depurar problemas y entender el funcionamiento interno del sistema de paquetes.
¿Qué es RPM?
RPM significa Red Hat Package Manager. Cada archivo .rpm contiene los binarios, bibliotecas, archivos de configuración y metadatos necesarios para que una aplicación se instale correctamente. Los metadatos incluyen información de versión, dependencias, suma de control y scripts que se ejecutan antes o después de la instalación.
Instalación de paquetes
Para instalar un paquete .rpm se usa la opción -i (install). Por ejemplo:
rpm -ivh nombre_paquete.rpm
La bandera v muestra el proceso de forma detallada y h imprime hash marks para indicar el progreso. Si el paquete ya está instalado, rpm rechaza la operación a menos que se añada la opción --replacepkgs para sobrescribir la versión existente.
Actualización y freshen
Actualizar un paquete se realiza con -U (upgrade). Esta opción instala la nueva versión y elimina la antigua automáticamente:
rpm -Uvh nombre_paquete.rpm
Si solo se quiere actualizar paquetes que ya están presentes en el sistema, se puede usar --freshen (opción -F), que ignora los paquetes que no están instalados.
Consulta y verificación
RPM permite consultar la base de datos de paquetes instalados. Con -q (query) se puede obtener información sobre un paquete específico:
rpm -q nombre_paqueterpm -qi nombre_paquetemuestra detalles completosrpm -ql nombre_paquetelista todos los archivos que pertenecen al paquete
Para verificar la integridad de un paquete instalado se usa -V (verify). Esta opción compara los atributos actuales de los archivos con los esperados y reporta cualquier discrepancia:
rpm -V nombre_paquete
Eliminación de paquetes
Borrar un paquete se hace con la opción -e (erase). RPM comprobará que no haya otras aplicaciones que dependan de él antes de proceder:
rpm -e nombre_paquete
Si se necesita forzar la eliminación a pesar de las dependencias, se puede añadir --nodeps, aunque esta práctica no se recomienda en sistemas de producción.
Manejo de dependencias y uso de yum/dnf
RPM por sí mismo no resuelve dependencias automáticamente; si un paquete requiere otras bibliotecas, la instalación fallará hasta que esas dependencias se satisfagan manualmente. Por eso, en la práctica se utilizan frontrends como yum (en RHEL 6 y CentOS 6) o dnf (en Fedora y RHEL 8+), que llaman a rpm internamente y se encargan de descargar y resolver dependencias desde los repositorios configurados.
No obstante, conocer rpm es útil cuando se trabaja con paquetes locales, se crean paquetes personalizados o se necesita realizar pruebas en un entorno aislado.
Buenas prácticas
- Siempre verifique la firma GPG de un paquete antes de instalarlo:
rpm -K nombre_paquete.rpm - Utilice los flags
vhpara obtener salida legible durante la instalación o actualización. - Mantenga una copia de seguridad de la base de datos de rpm (
/var/lib/rpm) antes de realizar operaciones masivas. - Prefiera yum o dnf para la gestión rutinaria y reserve rpm para tareas de bajo nivel o depuración.
Conclusión
El comando rpm sigue siendo una pieza fundamental del ecosistema de Linux en distribuciones basadas en Red Hat. Dominar sus opciones le brinda un control preciso sobre la instalación, actualización, consulta y eliminación de paquetes .rpm, complementando las herramientas de nivel superior como yum y dnf. Con el conocimiento adecuado, podrá administrar sistemas de forma más segura y eficiente.


