El comando RPM se usa para instalar, desinstalar, actualizar, consultar, enumerar y verificar paquetes RPM en su sistema Linux .
RPM significa R ed Sombrero P paquete M administrador.
Con privilegios de root, puede usar el comando rpm con las opciones apropiadas para administrar los paquetes de software RPM.
En este artículo, repasemos 15 ejemplos prácticos del comando rpm.
Tomemos un rpm de Mysql Client y analicemos todos nuestros ejemplos.
1. Instalar un paquete RPM Usando rpm -ivh
El nombre del archivo RPM tiene el nombre del paquete, la versión, la versión y el nombre de la arquitectura.
Por ejemplo, en el archivo MySQL-client-3.23.57-1.i386.rpm:
- Cliente MySQL:nombre del paquete
- 3.23.57 – Versión
- 1 – Liberar
- i386 – Arquitectura
Cuando instala un RPM, verifica si su sistema es adecuado para el software que contiene el paquete RPM, determina dónde instalar los archivos ubicados dentro del paquete rpm, los instala en su sistema y agrega esa pieza de software a su base de datos de paquetes RPM instalados.
El siguiente comando rpm instala el paquete de cliente Mysql.
# rpm -ivh MySQL-client-3.23.57-1.i386.rpm Preparing... ########################################### [100%] 1:MySQL-client ########################################### [100%]
comando rpm y opciones
- -i :instala un paquete
- -v :detallado
- -h :imprime marcas de hash a medida que se desempaqueta el archivo del paquete.
También puede usar dpkg en Debian, pkgadd en Solaris, depósito en HP-UX para instalar paquetes.
2. Consulta todos los paquetes RPM usando rpm -qa
Puede usar el comando rpm para consultar todos los paquetes instalados en su sistema.
# rpm -qa cdrecord-2.01-10.7.el5 bluez-libs-3.7-1.1 setarch-2.0-1.1 . .
- operación de consulta -q
- -a consulta todos los paquetes instalados
Para identificar si un paquete rpm en particular está instalado en su sistema, combine los comandos rpm y grep como se muestra a continuación. El siguiente comando verifica si el paquete cdrecord está instalado en su sistema.
# rpm -qa | grep 'cdrecord'
3. Consultar un paquete RPM particular usando rpm -q
El ejemplo anterior enumera todos los paquetes instalados actualmente. Después de la instalación de un paquete para verificar la instalación, puede consultar un paquete en particular y verificarlo como se muestra a continuación.
# rpm -q MySQL-client MySQL-client-3.23.57-1 # rpm -q MySQL package MySQL is not installed
Nota:Para consultar un paquete, debe especificar el nombre exacto del paquete. Si el nombre del paquete es incorrecto, el comando rpm informará que el paquete no está instalado.
4. Consulte paquetes RPM en varios formatos usando rpm –queryformat
El comando Rpm proporciona una opción:formato de consulta, que le permite dar nombres de etiquetas de encabezado para enumerar los paquetes. Encierre la etiqueta del encabezado con {}.
# rpm -qa --queryformat '%{name}-%{version}-%{release} %{size}\n' cdrecord-2.01-10.7 12324 bluez-libs-3.7-1.1 5634 setarch-2.0-1.1 235563 . . #
5. ¿A qué paquete RPM pertenece un archivo? – Utilice rpm -qf
Digamos que tiene una lista de archivos y le gustaría saber qué paquete posee todos estos archivos. El comando rpm tiene opciones para lograr esto.
El siguiente ejemplo muestra que el archivo /usr/bin/mysqlaccess es parte de MySQL-client-3.23.57-1 rpm.
# rpm -qf /usr/bin/mysqlaccess MySQL-client-3.23.57-1
- -f :nombre de archivo
6. Ubique la documentación de un paquete que posee un archivo usando rpm -qdf
Use lo siguiente para conocer la lista de documentaciones, para un paquete que posee un archivo. El siguiente comando proporciona la ubicación de todas las páginas del manual relacionadas con el paquete mysql.
# rpm -qdf /usr/bin/mysqlaccess /usr/share/man/man1/mysql.1.gz /usr/share/man/man1/mysqlaccess.1.gz /usr/share/man/man1/mysqladmin.1.gz /usr/share/man/man1/mysqldump.1.gz /usr/share/man/man1/mysqlshow.1.gz
- -d :se refiere a la documentación.
7. Información sobre el paquete RPM instalado usando rpm -qi
El comando rpm proporciona mucha información sobre un paquete instalado usando rpm -qi como se muestra a continuación:
# rpm -qi MySQL-client Name : MySQL-client Relocations: (not relocatable) Version : 3.23.57 Vendor: MySQL AB Release : 1 Build Date: Mon 09 Jun 2003 11:08:28 PM CEST Install Date: Mon 06 Feb 2010 03:19:16 AM PST Build Host: build.mysql.com Group : Applications/Databases Source RPM: MySQL-3.23.57-1.src.rpm Size : 5305109 License: GPL / LGPL Signature : (none) Packager : Lenz Grimmer URL : http://www.mysql.com/ Summary : MySQL - Client Description : This package contains the standard MySQL clients.
Si tiene un archivo RPM que le gustaría instalar, pero desea obtener más información sobre él antes de instalarlo, puede hacer lo siguiente:
# rpm -qip MySQL-client-3.23.57-1.i386.rpm Name : MySQL-client Relocations: (not relocatable) Version : 3.23.57 Vendor: MySQL AB Release : 1 Build Date: Mon 09 Jun 2003 11:08:28 PM CEST Install Date: (not installed) Build Host: build.mysql.com Group : Applications/Databases Source RPM: MySQL-3.23.57-1.src.rpm Size : 5305109 License: GPL / LGPL Signature : (none) Packager : Lenz Grimmer URL : http://www.mysql.com/ Summary : MySQL - Client Description : This package contains the standard MySQL clients.
- -i :ver información sobre un rpm
- -p :especifica un nombre de paquete
8. Enumere todos los archivos en un paquete usando rpm -qlp
Para enumerar el contenido de un paquete RPM, use el siguiente comando, que enumerará los archivos sin extraerlos en la carpeta del directorio local.
$ rpm -qlp ovpc-2.1.10.rpm /usr/bin/mysqlaccess /usr/bin/mysqldata /usr/bin/mysqlperm . . /usr/bin/mysqladmin
- q :consultar el archivo rpm
- l :enumera los archivos en el paquete
- p :especifique el nombre del paquete
También puede extraer archivos del paquete RPM usando rpm2cpio como discutimos anteriormente.
9. Enumere los paquetes de dependencia usando rpm -qRP
Para ver la lista de paquetes de los que depende este paquete,
# rpm -qRp MySQL-client-3.23.57-1.i386.rpm /bin/sh /usr/bin/perl
10. Averigüe el estado de los archivos en un paquete usando rpm -qsp
El siguiente comando es para encontrar el estado (instalado, reemplazado o normal) para todos los archivos en un paquete RPM.
# rpm -qsp MySQL-client-3.23.57-1.i386.rpm normal /usr/bin/msql2mysql normal /usr/bin/mysql normal /usr/bin/mysql_find_rows normal /usr/bin/mysqlaccess normal /usr/bin/mysqladmin normal /usr/bin/mysqlbinlog normal /usr/bin/mysqlcheck normal /usr/bin/mysqldump normal /usr/bin/mysqlimport normal /usr/bin/mysqlshow normal /usr/share/man/man1/mysql.1.gz normal /usr/share/man/man1/mysqlaccess.1.gz normal /usr/share/man/man1/mysqladmin.1.gz normal /usr/share/man/man1/mysqldump.1.gz normal /usr/share/man/man1/mysqlshow.1.gz
11. Verifique un paquete RPM particular usando rpm -Vp
La verificación de un paquete compara la información sobre los archivos instalados en el paquete con la información sobre los archivos tomados de los metadatos del paquete almacenados en la base de datos rpm. En el siguiente comando, -V es para verificación y la opción -p se usa para especificar un nombre de paquete para verificar.
# rpm -Vp MySQL-client-3.23.57-1.i386.rpm S.5....T c /usr/bin/msql2mysql S.5....T c /usr/bin/mysql S.5....T c /usr/bin/mysql_find_rows S.5....T c /usr/bin/mysqlaccess
El carácter en la salida anterior denota lo siguiente:
- El tamaño del archivo S difiere
- El modo M difiere (incluye permisos y tipo de archivo)
- La suma de 5 MD5 difiere
- D Discrepancia de número mayor/menor del dispositivo
- L readlink(2) ruta no coincide
- U La propiedad del usuario difiere
- La propiedad de G Group difiere
- T mEl tiempo difiere
12. Verifique un archivo de propiedad del paquete usando rpm -Vf
El siguiente comando verifica el paquete que posee el nombre de archivo dado.
# rpm -Vf /usr/bin/mysqlaccess S.5....T c /usr/bin/mysql #
13. Actualización de un paquete RPM usando rpm -Uvh
Actualizar un paquete es similar a instalarlo, pero RPM desinstala automáticamente las versiones existentes del paquete antes de instalar el nuevo. Si no se encuentra una versión anterior del paquete, la opción de actualización aún lo instalará.
# rpm -Uvh MySQL-client-3.23.57-1.i386.rpm Preparing... ########################################### [100%] 1:MySQL-client ###########################################
14. Desinstalar un paquete RPM usando rpm -e
Para eliminar un paquete rpm instalado usando -e como se muestra a continuación. Después de la desinstalación, puede consultar usando rpm -qa y verificar la desinstalación.
# rpm -ev MySQL-client
15. Verificando todos los paquetes RPM usando rpm -Va
El siguiente comando verifica todos los paquetes instalados.
# rpm -Va S.5....T c /etc/issue S.5....T c /etc/issue.net S.5....T c /var/service/imap/ssl/seed S.5....T c /home/httpd/html/horde/ingo/config/backends.php . . S.5....T c /home/httpd/html/horde/ingo/config/prefs.php S.5....T c /etc/printcap