Comando rpm en Linux: Instalar, Remover y Consultar Paquetes RPM
El comando rpm es responsable de la instalación, eliminación, actualización y conversión de los paquetes. Este comando se organiza primero en modos de operación, que pueden ser: consulta, verificación, integridad, instalación, eliminación, actualización y reconstrucción de la base de datos rpm. Cada modo de operación puede contener o no varias opciones disponibles.
El rpm es correlativo al dpkg de Debian, y también requiere que cada dependencia se satisfaga manualmente, así como que los paquetes se descarguen manualmente. Son comandos poco usados en lo que respecta a la instalación de paquetes en los repositorios de las distribuciones, ya que el yum y el apt son muy versátiles, pero permiten que paquetes de terceros se instalen manualmente.
Los modos de operación más frecuentes son:
Para consultar la base de datos
# rpm {-q|--query} [opções de consulta] nome_do_pacote
Ejemplo:
# rpm –q bash
bash-2.05b-207
Para verificar el estado de los paquetes
# rpm {-V|--verify} nome_do_pacote
Ejemplo:
# rpm -V snort-2.0.1-98.i586.rpm
package snort-2.0.1-98.i586.rpm is not installed
Para verificar la firma e integridad de los paquetes
# rpm {-K|--checksig} nome_do_pacote
Ejemplo:
# rpm -K libpcap-0.7.2-37.i586.rpm
libpcap-0.7.2-37.i586.rpm: sha1 md5 gpg OK
Para instalar un nuevo paquete:
# rpm {-i|--install} [opções de instalação] nome_do_pacote
Ejemplo:
# rpm –i libpcap-0.7.2-37.i586.rpm
Para instalar un nuevo paquete mostrando detalles de la instalación:
# rpm –ivh libpcap-0.7.2-37.i586.rpm
Preparing... ####################### [100%]
1:libcap ####################### [100%]
Para actualizar un paquete:
# rpm {-U|--upgrade} [opções de instalação] nome_do_pacote
Ejemplo:
# rpm -U libpcap-0.7.2-37.i586.rpm
package libpcap-0.7.2-37 is already installed
Para eliminar un paquete:
# rpm {-e|--erase} [opções de remoção] nome_do_pacote
Ejemplo:
# rpm –e libpcap-0.7.2-37.i586.rpm
Para reconstruir la base de datos RPM:
# rpm {--initdb|--rebuilddb}
Ejemplo:
# rpm --initdb
Para consultar las dependencias de un paquete:
# rpm {—qpR }
Ejemplo:
# rpm —qpR BitTorrent-5.2.2-1-Python2.4.noarch.rpm
/usr/bin/python2.4
python >= 2.3
python(abi) = 2.4
python-crypto >= 2.0
python-psyco
python-twisted >= 2.0
python-zopeinterface
rpmlib(CompressedFileNames) = 2.6
Para instalar un paquete ignorando las dependencias (algo bastante estúpido de hacer):
# rpm {—ivh --nodeps }
Ejemplo:
# rpm -ivh --nodeps BitTorrent-5.2.2-1-Python2.4.noarch.rpm
Preparing... ####################### [100%]
1:BitTorrent ####################### [100%]
Para listar los paquetes instalados recientemente:
# rpm {—qa --last }
Ejemplo:
# rpm -qa --last
kernel-headers-3.14.34-27.48.amzn1.x86_64 Sex 06 Mar 2015 11:55:01 BRT
graphviz-gd-2.38.0-18.44.amzn1.x86_64 Sex 06 Mar 2015 11:55:00 BRT
file-devel-5.19-7.26.amzn1.x86_64 Sex 06 Mar 2015 11:55:00 BRT
Para saber a qué paquete pertenece un archivo:
# rpm {—qf arquivo }
Ejemplo:
# rpm -qf /usr/bin/htpasswd
httpd24-tools-2.4.10-15.58.amzn1.x86_64
Para conocer información de un determinado paquete instalado:
# rpm {—qi nome_do_pacote }
Ejemplo:
# rpm -qi httpd24
Name : httpd24
Version : 2.4.10
Release : 15.58.amzn1
Architecture: x86_64
Install Date: Sex 13 Fev 2015 21:56:14 BRST
Group : System Environment/Daemons
Size : 3792099
License : ASL 2.0
Signature : RSA/SHA256, Qui 12 Fev 2015 17:35:50 BRST, Key ID bcb4a85b21c0f39f
Source RPM : httpd24-2.4.10-15.58.amzn1.src.rpm
Build Date : Qui 12 Fev 2015 14:43:53 BRST
Build Host : build-64003.build
Relocations : (not relocatable)
Packager : Amazon.com, Inc. <http://aws.amazon.com>
Vendor : Amazon.com
URL : http://httpd.apache.org/
Summary : Apache HTTP Server
Description :
The Apache HTTP Server is a powerful, efficient, and extensible web server.
Para verificar la integridad de los archivos instalados con la base de datos de paquetes:
# rpm {—Va }
Ejemplo:
# rpm -Va
S.5....T. c /etc/sysconfig/svnserve
....L.... c /etc/localtime
..?...... /usr/sbin/glibc_post_upgrade.x86_64
S.5....T. c /etc/httpd/conf/httpd.conf
..?...... /usr/sbin/suexec
Las opciones de consulta de información de paquetes más frecuentes son:
- -a Lista todos los paquetes instalados en el sistema;
- -f archivo: Lista el nombre del paquete que contiene el archivo buscado;
- -p nombredelpaquete: Muestra si un determinado paquete está instalado;
- -i nombredelpaquete: Muestra información adicional sobre un determinado paquete;
- -l nombredelpaquete: Muestra la lista de los archivos que contiene un paquete;
- -R nombredelpaquete: Muestra la lista de dependencias que necesita un paquete para ser instalado.
Las opciones de instalación y actualización de paquetes más frecuentes son:
- --force: Esta opción fuerza la instalación de un paquete y sus archivos incluso si ya está instalado. Esta opción inclusive fuerza la instalación de un paquete más antiguo por encima de uno más nuevo;
- -h: Esta opción muestra el progreso de la instalación;
- ---nodeps: Esta opción deshabilita la verificación de dependencias para la instalación de un paquete;
- -v: Muestra información adicional durante la instalación y actualización de los paquetes;
- -vv: Muestra mucha más información durante la instalación y actualización de los paquetes. Generalmente utilizada por desarrolladores.
Las opciones de desinstalación de los paquetes son:
- --nodeps: Deshabilita la verificación de dependencias, eliminando el paquete aunque sea necesario para otros;
- --test: Prueba la eliminación del paquete, sin eliminarlo realmente. Es útil para probar si la eliminación del paquete va a causar algún daño al sistema o aplicación.
Prefiera al actualizar un paquete a una versión más nueva utilizar el modo –U. Así el paquete más antiguo será eliminado, el paquete nuevo será instalado y las configuraciones se mantendrán.
Como puede ver, el uso del rpm es complicado a primera vista, y poco práctico, ya que el administrador necesita descargar los paquetes e instalar las dependencias de forma manual. Para hacer todo más fácil, las distribuciones basadas en RPM adoptaron YUM.
Aprende a configurar el firewall Pfsense en la práctica con el Training de Firewall Pfsense de Certificación Linux!
Puedes realizar la inscripción aquí. Si ya tienes una cuenta, o quieres crear una, simplemente ingresa o crea tu usuario aquí.
¿Te gustó? Comparte
Eso fue solo una pieza. El curso enseña el camino completo — desde tu primer comando hasta el día del examen.