Está en la página 1de 5

Red Hat: Manejo de paquetes 

RPM
noviembre 6, 2011 3 comentarios
En este post, muestro algunos comandos para administrar paquetes de tipo RPM en Red Hat. Este
tipo de paquetes también se pueden usar en otras distribuciones de Linux como Cent OS u Oracle
Enterprise Linux. También, a través de una herramientas especiales en Ubuntu o Fedora.
Muy bien, entonces aquí, les muestro cómo realizar distintas actividades con estos paquetes cuyo
nombre viene de Red Hat Package Manager.
Cada paquete viene con diversas librerías que son requeridas para diversas tareas. Por ejemplo, en
una instalación de algún producto de Oracle, puede ser requerido un paquete RPM en especial,
estos deberán ser instalados de manera previa para poder facilitar el funcionamiento del instalador
de Oracle llamado Oracle Universal Installer.

Recomendación inicial
Les recomiendo ampliamente, que si requieren instalar un paquete RPM, estos sean buscados
primero en el CD o DVD de instalación del Red Hat.
Si no cuentan con este, entonces la siguiente zona de búsqueda es en la página oficial de Red Hat
suponiendo que tienen un servicio pagado.
Al final, si no cuentan con los dos primeros, entonces pueden ir a RPM pbone y buscar el paquete
correspondiente. Si es así, les recomiendo seguir el mismo estándar de versión de paquetes que los
instalados actualmente en el sistema operativo.
Muy bien, entonces pasemos a las distintas actividades que se pueden hacer con un paquete RPM:

Mostrar información
Cuando se quiere ver la información de un paquete RPM, se tiene que usar el comando:
rpm -qip nombre_de_paquete.rpm

Por ejemplo:
[root@localhost ~]# rpm -qip libgomp-4.4.4-13.el5.i386.rpm
warning: libgomp-4.4.4-13.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID
37017186
Name        : libgomp                      Relocations: (not relocatable)
Version     : 4.4.4                             Vendor: Red Hat, Inc.
Release     : 13.el5                        Build Date: Wed 01 Sep 2010 04:25:00
PM PDT
Install Date: (not installed)               Build Host: ls20-bc2-
14.build.redhat.com
Group       : System Environment/Libraries   Source RPM: gcc44-4.4.4-
13.el5.src.rpm
Size        : 99291                            License: GPLv3+ and GPLv3+ with
exceptions and GPLv2+ with exceptions
Signature   : DSA/SHA1, Tue 07 Dec 2010 05:26:59 AM PST, Key ID 5326810137017186
Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
URL         : http://gcc.gnu.org
Summary     : GCC OpenMP 2.5 shared support library
Description :
This package contains GCC shared support library which is needed
for OpenMP 2.5 support.

Verificar paquetes instalados


Antes de instalar un paquete RPM, es necesario ver si ya está instalado en el sistema operativo
actual. Para esto, se usa el comando:
rpm -qa [| grep nombre_paquete]

Por ejemplo, el siguiente comando nos muestra todos los paquetes que existen en el sistema:
[root@metallilaptop]# rpm -qa
tzdata-2008i-1.el5
rmt-0.4b41-2.fc6
gnome-mime-data-2.4.2-3.1
specspo-13-1.el5
rootfiles-8.1-1.1.1
emacs-leim-21.4-20.el5
chkconfig-1.3.30.1-2
mktemp-1.5-23.2.2
expat-1.95.8-8.2.1
bash-3.2-24.el5
libsepol-1.15.2-1.el5
freetype-2.2.1-20.el5_2
cyrus-sasl-lib-2.1.22-4
atk-1.12.2-1.fc6
gdbm-1.8.0-26.2.1
diffutils-2.8.1-15.2.3.el5
... etcétera

y agregando el comando grep para seccionar la información:


[root@metallilaptop]# rpm -qa | grep cpp
cpp-4.1.2-44.el5

Verificación de pre-requisitos
Antes de instalar un paquete, se debe verificar los pre-requisitos que tiene, para evitar que nos
marque error al momento de la instalación. Para hacer esto, se usa el comando:
rpm -qRp nombre_de_paquete.rpm

Por ejemplo:
[root@metallilaptop]# rpm -qRp gcc-4.1.2-51.el5.i386.rpm
warning: gcc-4.1.2-51.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID
37017186
/bin/sh  
/bin/sh  
/bin/sh  
/sbin/install-info  
binutils >= 2.17.50.0.2-8
cpp = 4.1.2-51.el5
glibc-devel >= 2.2.90-12
libc.so.6  
libc.so.6(GLIBC_2.0)  
libc.so.6(GLIBC_2.1)  
libc.so.6(GLIBC_2.2)  
libc.so.6(GLIBC_2.3)  
libc.so.6(GLIBC_2.4)  
libgcc >= 4.1.2-51.el5
libgcc_s.so.1  
libgomp >= 4.1.2-51.el5
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PartialHardlinkSets) <= 4.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(VersionedDependencies) <= 3.0.3-1
rtld(GNU_HASH)

En este caso, el paquete a instalar, requiere que:


• Exista el paquete binutils con la versión mínima de 2.17.50.
• Exista el paquete glibc-devel con la versión mínima de 2.2.90.
• Exista el paquete libgcc con la versión mínima de 4.1.2-51
• Etcétera.

Si un paquete requiere de un previo y este, no está instalado, deberá ser instalado de manera previa.

Instalación
Para instalar un paquete de tipo RPM, se usa el siguiente comando:
rpm -Uvh [--replacepkgs] [--nodeps] nombre_de_paquete.rpm

Las banderas sirven para:


-Uvh Realizar la instalación actualizando una versión previa si existía.
–replacepkgs Es opcional y sirve para reemplazar un paquete con versión más reciente, por uno más
antiguo
–nodeps Es opcional y sirve para instalar un paquete sin dependencias, les recomiendo usar este
sólo cuando dos paquetes dependen uno del otro para poderse instalar, así, poner la bandera sólo en
la instalación del primero de ellos.
por ejemplo,
[root@metallilaptop]# rpm -Uvh cpp-4.1.2-51.el5.i386.rpm
warning: cpp-4.1.2-51.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID
37017186
Preparing...                ########################################### [100%]
   1:cpp                    ########################################### [100%]

Listar el contenido
Para ver las librerías que contiene un RPM, se ejecuta el siguiente comando:
rpm -qlp nombre_de_paquete.rpm

Por ejemplo:
[root@localhost ~]# rpm -qlp libgomp-4.4.4-13.el5.i386.rpm
warning: libgomp-4.4.4-13.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID
37017186
/usr/lib/libgomp.so.1
/usr/lib/libgomp.so.1.0.0
/usr/share/doc/libgomp-4.4.4
/usr/share/doc/libgomp-4.4.4/ChangeLog.bz2
/usr/share/info/libgomp.info.gz

Desinstalación
Cuando se desea desinstalar un RPM, se usa el comando:
rpm -ev nombre_de_paquete
Nota. El nombre del paquete, es como está instalado en el sistema operativo, sin
.rpm

Un ejercicio completo
Aquí les muestro un ejercicio completo de una instalación de un paquete de flash para ver
animaciones de internet.
1. Verificar si existe el paquete en el sistema operativo:
[root@localhost ~]# rpm -qa | grep flash
[root@localhost ~]# <--- ¡No existe!

2. Verificar los pre-requisitos del paquete a instalar:


[root@localhost ~]# rpm -qRp flash-plugin-10.3.183.10-release.i386.rpm
glibc >= 2.4
/bin/sh  
/bin/sh  
/bin/sh  
/bin/sh  
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1

3. Como requiere que glibc sea de una versión mayor a la 2.4, verificar la versión de glibc instalada:
[root@localhost ~]# rpm -qa | grep glibc
glibc-headers-2.5-49
glibc-common-2.5-49
glibc-devel-2.5-49
glibc-2.5-49

4. Como se cumple con el requisito, entonces se instala el paquete:


[root@localhost ~]# rpm -Uvh flash-plugin-10.3.183.10-release.i386.rpm
Preparing...                ########################################### [100%]
   1:flash-plugin           ########################################### [100%]

5. Verificar que ya existe en los paquetes instalados en el sistema operativo:


[root@localhost ~]# rpm -qa | grep flash
flash-plugin-10.3.183.10-release

6. Suponiendo que ya no lo queremos, entonces eliminar el paquete:


[root@localhost ~]# rpm -ev flash-plugin-10.3.183.10-release
[root@localhost ~]#

7. Verificar si aún existe en el sistema operativo:


[root@localhost ~]# rpm -qa | grep flash
[root@localhost ~]# <--- ¡Ya no existe!

También podría gustarte