fbpx Comando rpm en Linux: Instalar y Gestionar Paquetes .rpm | Certificação Linux

Comando rpm en Linux: Instalar, Remover y Consultar Paquetes RPM

📅 01/01/2019 ⏱ 6 min ✍️ Uira Ribeiro
Linuxcomandos
Comando rpm en Linux: Instalar, Remover y Consultar Paquetes RPM
Exam Pass App — mais de 7.000 questões LPI, offline, em 5 idiomas, disponível no Android e na App Store
Disponible en
Google Play
Disponible en
App Store

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

Uira Ribeiro

Prof. Uirá Ribeiro

Chair do Board do Linux Professional Institute

Después de años viendo profesionales perder horas en tareas simples por no conocer las herramientas correctas de Linux, decidí enseñar.
Hoy soy autor de la mayoría de los Materiales de Aprendizaje oficiales de la LPI y mentor de más de 14,000 alumnos certificados.

Conoce mi historia completa →

Eso fue solo una pieza. El curso enseña el camino completo — desde tu primer comando hasta el día del examen.

Certificação Linux — a plataforma líder em certificações Linux no Brasil
WhatsApp