Red Hat: Manejo de paquetes RPM

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 requisitos

Antes de instalar un paquete, se debe verificar los 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 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!

Conclusiones

Con esto, se concluye este tema del manejo de archivos RPM de Red Hat.

Si la información de este post te ha sido de utilidad o quieres que agregue algo más, deja por favor un comentario, contestaré a la brevedad.

Anuncios

5 Responses to Red Hat: Manejo de paquetes RPM

  1. Pingback: VMWare: Cómo deshabilitar la auto instalación « Orlando Olguín Olvera

  2. christianrock says:

    MUY BUENO EXECELENTE PERO DIME ONDE CONSIGO ESOS PAKETES PARA LINUX REDHAT SALUDOSS OLIVOS CYTY LIMA PERU

  3. Orlando Olguín Olvera says:

    Hola ChristianRock.

    Como comenté arriba, en el mismo CD/DVD de instalación del Red Hat, en la carpeta Server vienen todos los RPM que le corresponden, debes usar esos en primera instancia, porque si bajas otros, puedes dañar tu instalación seriamente, lo he visto.

    Orlando.

  4. Daniel says:

    Excelente documento!
    Me estoy iniciando en el mundo de linux, y me gustaría saber si hay alguna forma de instalar Software (tanto sea un rpm, etc) pero sin la conexión a internet. O alguna forma de poder obtener todas las dependencias necesarias que necesite el software a instalar, para luego poder llevarlo a otro Pc que no tenga conexión a internet y poder hacer la instalación de dicho software. No se si me expliqué bien o muy entreverado. Poder hacer algo tipo windows, que no neesite de internet para poder instalar un programa por dichas dependencias. Se que existen varias distribuciones y por eso no se puede tener algo específico, pero capás que hay alguna forma de como dije antes, de poder obtener las dependencias necesarias para dicha distribución.
    Estoy utilizando OpenSuse 13.1
    Desde ya muchas gracias y repito, muy bueno el documento.
    Saludos.
    Daniel.

  5. Orlando Olguín Olvera says:

    Hola Daniel.

    Es probable que te sirva crear un repositorio de RPMs, sin embargo, no es algo que puedas copiar y llevar, pero con que dispongas del DVD de instalación te será suficiente.

    https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/sec-Yum_Repository.html

    Orlando.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: