RPM (Red Hat Package Manager) es una utilidad de gestión de paquetes de código abierto y ampliamente utilizada para sistemas basados en Red Hat como CentOS, Fedora, Rocky y Alma Linux.
La herramienta de gestión de paquetes rpm permite a los administradores del sistema y a los usuarios instalar, actualizar, desinstalar, consultar, verificar y gestionar paquetes de software en sistemas operativos Unix/Linux, que anteriormente se conocían como archivos .rpm
, contienen programas de software compilados y bibliotecas requeridas por los paquetes.
Este artículo proporciona 20 ejemplos útiles de comandos RPM que pueden ser útiles para ti. Con la ayuda de estos comandos RPM, puedes gestionar la instalación, actualización y eliminación de paquetes en tus sistemas Linux.
Datos sobre RPM
Aquí hay algunos datos sobre RPM (Red Hat Package Manager):
- RPM está disponible de forma gratuita y se publica bajo la Licencia Pública General (GPL).
- RPM mantiene una base de datos de todos los paquetes instalados, almacenando esta información en el directorio
/var/lib/rpm
. - RPM sirve como el método principal para instalar paquetes en sistemas Linux. Si los paquetes se han instalado utilizando código fuente, RPM no los administra.
- RPM opera con archivos
.rpm
, que contienen información vital del paquete como su identidad, origen, dependencias, detalles de versión y más.
Modos Básicos para el Comando RPM
Aquí están los modos principales para el comando RPM:
- Instalar – El comando
rpm -i
instala un nuevo paquete en el sistema. - Actualizar – El comando
rpm -U
actualiza un paquete existente a una versión más nueva. - Eliminar – El comando
rpm -e
desinstala o elimina un paquete del sistema. - Consulta – El comando
rpm -q
consulta la base de datos RPM para obtener información sobre los paquetes instalados. - Verificar – El comando
rpm -V
verifica la integridad de los archivos de paquete instalados. - Actualizar Parcialmente – El comando
rpm -F
actualiza o instala un paquete solo si ya está instalado. - Reconstruir Base de Datos – El comando
rpm --rebuilddb
reconstruye la base de datos RPM, resolviendo problemas de corrupción de la base de datos. - Importar Clave GPG – El comando
rpm --import
importa una clave GPG utilizada para la verificación de firmas de paquetes. - Consulta Todos – El comando
rpm -qa
lista todos los paquetes instalados en el sistema. - Consulta Archivos – El comando
rpm -ql
lista todos los archivos instalados por un paquete específico. - Consulta Documentación – El comando
rpm -qd
lista los archivos de documentación proporcionados por un paquete. - Consulta Dependencias – El comando
rpm -qR
lista las dependencias en tiempo de ejecución de un paquete. - Consulta Proporciona – El comando
rpm -q --provides
enumera las capacidades proporcionadas por un paquete. - Consulta Requiere – El comando
rpm -q --requires
enumera las dependencias requeridas por un paquete.
Dónde encontrar paquetes RPM
Puedes encontrar paquetes RPM en varios lugares, dependiendo de tu distribución de Linux. Aquí hay ubicaciones comunes donde puedes encontrar y descargar todos los paquetes RPM.
Recuerda que debes ser un root usuario al instalar paquetes en Linux, con los privilegios de root puedes gestionar comandos rpm con sus opciones apropiadas.
1. Cómo Verificar la Firma del Paquete RPM
Siempre verifica la firma PGP de los paquetes antes de instalarlos en tus sistemas Linux y asegúrate de que su integridad y origen sean OK.
Usa el siguiente comando con la opción --checksig
(verificar firma) para verificar la firma de un paquete llamado hardinfo.
rpm --checksig hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm: digests OK
2. Cómo Instalar un Paquete RPM
Para instalar un paquete de software RPM, utiliza el siguiente comando con la opción -ivh
, que instalará el paquete rpm llamado hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm en un sistema Linux.
rpm -ivh hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm Verifying... ################################# [100%] Preparing... ################################# [100%] Updating / installing... 1:hardinfo-2.0.11-1 ################################# [100%]
Analicemos los componentes del comando anterior:
-i
: instalar un paquete-v
: verboso para una mejor visualización-h
: imprimir marcas de hash (#) para mostrar el progreso de la instalación.
3. Cómo verificar las dependencias del paquete RPM antes de instalar
Supongamos que desea realizar una verificación de dependencias antes de instalar o actualizar un paquete. Por ejemplo, use el siguiente comando para verificar las dependencias del paquete hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm.
El comando consulta y muestra las dependencias de tiempo de ejecución requeridas por el paquete ” hardinfo “, lo que ayuda a identificar e asegurar que todas las dependencias necesarias se cumplan antes de instalar el paquete.
rpm -qpR hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm libX11.so.6()(64bit) libatk-1.0.so.0()(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.33)(64bit) libc.so.6(GLIBC_2.34)(64bit) libc.so.6(GLIBC_2.38)(64bit) libc.so.6(GLIBC_2.7)(64bit) libcairo-gobject.so.2()(64bit) libcairo.so.2()(64bit) ...
Analicemos los componentes del comando anterior:
-q
: Consultar un paquete.-p
: Listar las capacidades que este paquete proporciona.-R
: Listar las capacidades en las que este paquete depende.
4. Cómo instalar el paquete RPM sin dependencias
Para instalar un paquete rpm sin dependencias, puede usar la opción --nodeps
, que instalará forzadamente un paquete RPM sin verificar o resolver las dependencias.
rpm -ivh --nodeps hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm
El comando anterior instala forzadamente el paquete rpm ignorando los errores de dependencias, pero si esos archivos de dependencia están faltando, entonces el programa no funcionará en absoluto hasta que los instale.
5. Cómo verificar el paquete RPM instalado
Para verificar un paquete rpm instalado, puede usar la opción -q
, que consultará y mostrará información sobre la versión instalada del paquete.
rpm -q hardinfo hardinfo-2.0.11-1.x86_64
6. Cómo encontrar dónde se instalan los archivos RPM
Para ver todos los archivos de un paquete rpm instalado, use el -ql
(query list) con el comando rpm.
rpm -ql hardinfo /usr/bin/hardinfo2 /usr/lib/.build-id /usr/lib/.build-id/3a /usr/lib/.build-id/53 /usr/lib/.build-id/7c /usr/lib/.build-id/ba /usr/lib/.build-id/e0 /usr/lib64/hardinfo2 /usr/lib64/hardinfo2/modules /usr/lib64/hardinfo2/modules/benchmark.so /usr/lib64/hardinfo2/modules/computer.so /usr/lib64/hardinfo2/modules/devices.so /usr/lib64/hardinfo2/modules/network.so ...
7. ¿Cómo listar los paquetes RPM instalados recientemente?
Utilice el siguiente comando rpm con -qa
(query all) opción, que listará todos los paquetes rpm instalados recientemente.
rpm -qa --last hardinfo-2.0.11-1.x86_64 Mon 04 Mar 2024 01:32:14 PM IST pipewire-pulseaudio-1.0.3-1.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST pipewire-jack-audio-connection-kit-1.0.3-1.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST pipewire-alsa-1.0.3-1.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST libsoup-devel-2.74.3-3.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST json-glib-devel-1.8.0-1.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST gtk3-devel-3.24.41-1.fc39.x86_64 Mon 04 Mar 2024 01:32:02 PM IST xdg-desktop-portal-gtk-1.15.1-1.fc39.x86_64 Mon 04 Mar 2024 01:32:01 PM IST xdg-desktop-portal-1.18.2-1.fc39.x86_64 Mon 04 Mar 2024 01:32:01 PM IST libcanberra-gtk3-0.30-32.fc39.x86_64 Mon 04 Mar 2024 01:32:01 PM IST gtk3-3.24.41-1.fc39.x86_64 Mon 04 Mar 2024 01:32:01 PM IST ...
8. ¿Cómo listar todos los paquetes RPM instalados?
Escriba el siguiente comando para imprimir todos los nombres de paquetes instalados en su sistema Linux.
rpm -qa fonts-filesystem-2.0.5-12.fc39.noarch libreport-filesystem-2.17.11-3.fc39.noarch hunspell-filesystem-1.7.2-5.fc39.x86_64 abattis-cantarell-vf-fonts-0.301-10.fc39.noarch fedora-gpg-keys-39-1.noarch fedora-repos-39-1.noarch setup-2.14.4-1.fc39.noarch filesystem-3.18-6.fc39.x86_64 basesystem-11-18.fc39.noarch default-fonts-core-sans-4.0-9.fc39.noarch langpacks-fonts-en-4.0-9.fc39.noarch ...
9. ¿Cómo actualizar un paquete RPM?
Si queremos actualizar cualquier paquete RPM, se utilizará la opción “–U
” (upgrade). Una de las principales ventajas de usar esta opción es que no solo actualizará la versión más reciente de cualquier paquete, sino que también mantendrá la copia de seguridad del paquete anterior para que, en caso de que el paquete actualizado no funcione, se pueda utilizar nuevamente el paquete previamente instalado.
rpm -Uvh hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm
10. ¿Cómo eliminar un paquete RPM?
Para desinstalar un paquete RPM, por ejemplo, usamos el nombre del paquete hardinfo, no el nombre original del paquete hardinfo-2.0.11-FedoraLinux-39.x86_64.rpm. La opción -e (erase)
se utiliza para eliminar el paquete.
rpm -evv hardinfo
11. ¿Cómo eliminar un paquete RPM sin dependencias?
La opción --nodeps
(no verifique las dependencias) elimina forzosamente el paquete rpm del sistema. Pero tenga en cuenta que eliminar un paquete en particular puede romper otras aplicaciones que funcionan.
rpm -ev --nodeps hardinfo
12. ¿Cómo encontrar el paquete RPM de un archivo específico?
Tengamos en cuenta que tienes una lista de archivos y te gustaría saber a qué paquete pertenecen estos archivos. Por ejemplo, el siguiente comando con la opción -qf
(consulta de archivo) te mostrará un archivo /usr/bin/htpasswd que pertenece al paquete httpd-tools-2.4.58-1.fc39.x86_64.
rpm -qf /usr/bin/htpasswd httpd-tools-2.4.58-1.fc39.x86_64
13. Cómo Consultar Información de un Paquete RPM Instalado
Supongamos que has instalado un paquete rpm y quieres conocer la información sobre el paquete. La siguiente opción -qi
(consulta de información) imprimirá la información disponible del paquete instalado.
rpm -qi hardinfo Name : hardinfo Version : 2.0.11 Release : 1 Architecture: x86_64 Install Date: Mon 04 Mar 2024 01:32:14 PM IST Group : unknown Size : 5174404 License : GPL2+ Signature : (none) Source RPM : hardinfo-2.0.11-1.src.rpm Build Date : Sat 02 Mar 2024 06:37:42 AM IST Build Host : fedora.bigbear.dk Relocations : /usr Vendor : Humanity URL : https://www.hardinfo2.org Summary : hardinfo2 built using CMake Description : Hardinfo2 is a small application that displays information about your hardware and operating system. It has online benchmarking to check your machine performance against other machines.
14. Obtener la Información de un Paquete RPM Antes de Instalarlo
Has descargado un paquete de internet y deseas conocer la información de un paquete antes de instalarlo. Por ejemplo, la siguiente opción -qip
(consulta de información del paquete) imprimirá la información de un paquete sqlbuddy.
rpm -qip sqlbuddy Name : sqlbuddy Relocations: (not relocatable) Version : 1.3.3 Vendor: (none) Release : 1 Build Date: Wed 02 Nov 2011 11:01:21 PM BDT Install Date: (not installed) Build Host: rpm.bar.baz Group : Applications/Internet Source RPM: sqlbuddy-1.3.3-1.src.rpm Size : 1155804 License: MIT Signature : (none) Packager : Erik M Jacobs URL : http://www.sqlbuddy.com/ Summary : SQL Buddy â Web based MySQL administration Description : SQLBuddy is a PHP script that allows for web-based MySQL administration.
15. Cómo Consultar la Documentación de un Paquete RPM Instalado
Para obtener la lista de documentación disponible de un paquete instalado, utiliza el siguiente comando con la opción -qdf
(consulta de archivo de documento) para mostrar las páginas del manual relacionadas con el paquete vmstat.
rpm -qdf /usr/bin/vmstat /usr/share/doc/procps-ng/AUTHORS /usr/share/doc/procps-ng/FAQ /usr/share/doc/procps-ng/NEWS /usr/share/doc/procps-ng/README.md /usr/share/doc/procps-ng/bugs.md /usr/share/man/man1/free.1.gz /usr/share/man/man1/pgrep.1.gz ...
16. Cómo Verificar un Paquete RPM
Verificar un paquete compara la información de los archivos instalados del paquete con la base de datos de rpm. El -Vp
(verificar paquete) se utiliza para verificar un paquete.
rpm -Vp sqlbuddy-1.3.3-1.noarch.rpm S.5....T. c /etc/httpd/conf.d/sqlbuddy.conf
17. Cómo verificar todos los paquetes RPM
Escriba el siguiente comando para verificar todos los paquetes rpm instalados.
rpm -Va S.5....T. c /etc/rc.d/rc.local .......T. c /etc/dnsmasq.conf .......T. /etc/ld.so.conf.d/kernel-2.6.32-279.5.2.el6.i686.conf S.5....T. c /etc/yum.conf S.5....T. c /etc/yum.repos.d/epel.repo
18. Cómo importar una clave GPG RPM
Para verificar los paquetes de RHEL/CentOS/Fedora, debe importar la clave GPG. Para hacerlo, ejecute el siguiente comando. Importará la clave GPG de CentOS 8.
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-8
19. Cómo listar todas las claves GPG RPM importadas
Para imprimir todas las claves GPG importadas en su sistema, use el siguiente comando.
rpm -qa gpg-pubkey* gpg-pubkey-0608b895-4bd22942 gpg-pubkey-7fac5991-4615767f gpg-pubkey-0f2672c8-4cd950ee gpg-pubkey-c105b9de-4e0fd3a3 gpg-pubkey-00f97f56-467e318a gpg-pubkey-6b8d79e6-3f49313d gpg-pubkey-849c449f-4cb9df30
20. Cómo Reconstruir una Base de Datos RPM Corrupta
A veces la base de datos rpm se corrompe y detiene toda la funcionalidad de rpm y otras aplicaciones en el sistema. Por lo tanto, en este momento necesitamos reconstruir la base de datos rpm y restaurarla con la ayuda del siguiente comando.
cd /var/lib rm __db* rpm --rebuilddb rpmdb_verify Packages
En conclusión, los comandos rpm presentados proporcionan una guía completa para gestionar eficientemente los paquetes de software en distribuciones Linux basadas en RHEL.
Source:
https://www.tecmint.com/20-practical-examples-of-rpm-commands-in-linux/