Introducción
RPM Package Manager (RPM) es un poderoso sistema de administración de paquetes utilizado por Red Hat Linux y sus derivados como CentOS y Fedora. RPM también se refiere al rpm
y al formato de archivo .rpm
Un paquete RPM consta de un repositorio de archivos y metadatos que incluye información como dependencias y ruta de instalación.
En este tutorial, hablaremos sobre cómo usar el rpm
para instalar, actualizar, eliminar, verificar, consultar y administrar paquetes RPM.
Instalación, actualización y eliminación de paquetes RPM
Por lo general, para instalar un nuevo paquete en distribuciones basadas en Red Hat, utilizará uno de los yum
o dnf
, que pueden resolver e instalar todas las dependencias del paquete.
Siempre se recomienda usar yum
o dnf
lugar de rpm
para instalar, actualizar y eliminar paquetes.
Antes de instalar un paquete RPM, debe descargar el paquete en su sistema utilizando un navegador o herramientas de línea de comandos como curl o wget.
Al instalar paquetes RPM, asegúrese de que estén creados para la arquitectura de su sistema y la versión de CentOS. Tenga especial cuidado al reemplazar o actualizar paquetes importantes del sistema, como glibc, systemd u otros servicios y bibliotecas que son esenciales para el funcionamiento adecuado del sistema.
Solo root o usuarios con privilegios de sudo pueden instalar o eliminar paquetes RPM.
Para instalar un paquete RPM con rpm
, use la -i
, seguida del nombre del paquete:
sudo rpm -ivh package.rpm
La -v
permite que el rpm
muestre una salida detallada y la -h
muestre la barra de progreso marcada con el hash.
Puede omitir la parte de descarga y proporcionar la URL del paquete RPM en el comando rpm
sudo rpm -ivh https://example.com/package.rpm
Para actualizar un paquete RPM, use la opción -U
Si el paquete no está instalado, instalará:
sudo rpm -Uvh package.rpm
Si el paquete que está instalando o actualizando depende de otros paquetes que no están instalados actualmente, se mostrará una lista de todas las dependencias que faltan. Deberá descargar e instalar todas las dependencias manualmente.
Para instalar un paquete RPM sin tener todas las dependencias requeridas instaladas en el sistema, use la opción --nodeps
sudo rpm -Uvh --nodeps package.rpm
Para eliminar (eliminar) un paquete RPM, use la opción -e
sudo rpm -e package.rpm
La --nodeps
también es útil cuando desea eliminar un paquete sin eliminar sus dependencias:
sudo rpm -evh --nodeps package.rpm
La --test
permite que rpm
ejecute el comando install o remove sin hacer nada. Solo muestra si el comando funcionaría o no:
sudo rpm -Uvh --test package.rpm
Solicitud de paquetes RPM
La -q
indica al rpm
que ejecute una consulta.
Para consultar (buscar) si un paquete en particular está instalado, pase el nombre del paquete al comando rpm -q
El siguiente comando le mostrará si el paquete OpenJDK 11 está instalado en el sistema:
sudo rpm -q java-11-openjdk-devel
Si el paquete está instalado, verá algo como esto:
java-11-openjdk-devel-11.0.4.11-0.el8_0.x86_64
Utilice la -i
para obtener más información sobre el paquete requerido:
sudo rpm -qi java-11-openjdk-devel
Para obtener una lista de todos los archivos en un paquete RPM instalado:
sudo rpm -ql package
Si desea saber a qué paquete instalado pertenece un archivo en particular, escriba:
sudo rpm -qf /path/to/file
Para obtener una lista de todos los paquetes instalados en su sistema, use la opción -a
sudo rpm -qa
Comprobando los paquetes RPM
Cuando se produce un paquete, el rpm
comprueba si todos los archivos instalados por un paquete existen en el sistema, el resumen del archivo, la propiedad, los permisos, etc.
Para verificar un paquete instalado, use la opción -V
Por ejemplo, para verificar el paquete openldap, debe ejecutar:
sudo rpm -V openldap-2.4.46-9.el8.x86_64
Si pasa la verificación, el comando no imprimirá ningún resultado. De lo contrario, si alguna de las comprobaciones falla, se mostrará un carácter que indica la prueba fallida.
Por ejemplo, el siguiente resultado muestra que el mTime del archivo ha cambiado ("T"):
.......T. c /etc/openldap/ldap.conf
Consulte la página de manual de RMP sobre el significado de cada carácter.
Para verificar todos los paquetes rpm instalados, ejecute el siguiente comando:
sudo rpm -Va
Conclusión
rpm
es una herramienta de línea de comandos de bajo nivel para instalar, consultar, verificar, actualizar y eliminar paquetes RMP. Al instalar paquetes RPM, es preferible usar yum
o dnf
ya que resuelven automáticamente todas las dependencias.
Para obtener más información sobre todas las opciones de comando disponibles, escriba en la terminal:
man rpm