Monday, August 08, 2005

como instalar paquetes RPM


NOTA:

todos se deberá de realizar desde la cuenta de root, así que proceda con cuidado.

Manejo de paquetes a partir de archivos RPM®

El formato RPM® es el más utilizado en la actualidad. Tiene como ventaja principal el encargarse de verificar las posibles dependencias o requisitos para la instalación o actualización de un paquete en particular, así como también el verificar si el paquete que se procederá a desinstalar es requerido por otros paquetes presentes en el sistema.

Analizaremos entonces el uso del mandato rpm. Existen dos aplicaciones en el entorno gráfico que utilizan rpm en el trasfondo y que son de muy fácil utilización, son gnorpm y kpackage. Sin embargo es importante que el usuario novicio se familiarice con este mandato para poder entender el funcionamiento de las mencionadas aplicaciones en el entorno gráfico.

Sintaxis
rpm -[opciones] paquete.rpm
Nos limitaremos a abordar solo las opciones más comúnes que un nuevo usuario de Linux® podría necesitar. Si desea ver una descripción completa de las posibles opciones del mandato rpm, consulte el manual escribiendo man rpm en cualquier terminal o consola.

Instalación binarios contenidos en paquetes con formato RPM®.

Los paquetes de este tipo son programas previamente compilados, almacenados y listos para ser instalados en el sistema. Estos paquetes pueden tener las extensiones .i386.rpm para PC compatible con al menos un microprocesador 80386, es decir, cualquier PC de arquitectura Intel® o compatible, .i486.rpm para PC compatible un microprocesador 80486, .i586.rpm para PC compatible con microprocesador 80586, .i686.rpm para PC compatible con microprocesador 80686, .ppc.rpm para Machintosh® PowerPC o .noarch.rpm que puede utilizarse en cualquier arquitectura.

En la práctica, no se preocupe por encontrar paquetes i686 para su PC con microprocesador Intel Pentium III, puede instalar con total seguridad los paquetes para i386. Los paquetes noarch generalmente contiene archivos de texto -guiones para diversas funciones, archivos de configuración o documentación-, imágenes, sonidos, etc., es decir, archivos que trabajan indistintamente en uno u otro sistema.

La sintaxis que se sugiere utilizar en la mayoría de los casos para instalar o actualizar paquetería es la siguiente:

rpm -Uvh paquete.i386.rpm

El utilizar la opción U, que significa Update, a fin de conseguir un proceso limpio, hace que primero se consulte la base de datos de la paquetería instalada, procediendo a desinstalar a continuación la versión anterior e instalando la nueva. Aunque también puede utilizarse la opción i, que significa install, esta no continuará el proceso si existiese en el sistema una versión anterior de dicho paquete.

Desinstalación binarios contenidos en paquetes con formato RPM®.

rpm -e paquete

No requiere especificar el número de versión ni la extensión ya que consulta directamente la base de datos de la paquetería instalada en le sistema y procederá a desinstalar el paquete que lleve dicho nombre.

Instalación a partir de código fuente contenido en paquetes con formato RPM®.

Este procedimiento se aplica a los paquetes denominados SRPM, sobre los cuales seguramente ha leído en los foros y grupos d discusión, y requiere que se encuentren instalados en el sistema los paquetes de desarrollo -los paquetes contenidos en el CDROM de instalación que llevan "-devel-" en el nombre-, ya que el procedimiento implica que se realizará la compilación de programas.

La ventaja que tiene la construcción e instalación paquetería a partir de archivos SRPM es que los paquetes resultantes quedan compilados de forma especial para el sistema Linux® que tengamos instalado. Es de particular ayuda cuando se actualiza, por citar un ejemplo, de LinuxPPP® 5.x a LinuxPPP® 6.x y el usuario se topa con que alguna de sus aplicaciones favoritas simplemente ya no funcionan. Esto se debe a que la diferencia entre las versiones de las bibliotecas compartidas entre una y otra versión de LinuxPPP puede ser demasiada. Las distribuciones basadas sobre Red Hat™ Linux 5.x utilizan, entre otras cosas, libc5, en tanto que las versiones basadas sobre Red Hat™ 6.x hacen uso de Glibc-2.1.x y las versiones basadas sobre Red Hat™ 7.x hacen uso de Glibc-2.2.x.

Estos paquetes SRPM tienen la extensión .src.rpm y se procede sobre estos del siguiente modo:

rpmbuild --rebuild --clean paquete.src.rpm

Esta última línea de mandato coloca un paquete comprimido, normalmente un archivo con extensión .tar.gz o tar.bz2, en /usr/src/redhat/SOURCES y un archivo, conocido como spec, con las especificaciones del paquete en /usr/src/redhat/SPECS. A continuación se descomprime el archivo .tar.gz o tar.bz2 y se inicia la compilación y construcción del paquete RPM® con las especificaciones del spec.

Si al terminar el proceso en la última línea se obtiene + exit 0, solo restará instalar o actualizar con el paquete RPM® que ahora encontraremos, dependiendo de la arquitectura para la que se compiló, en alguno de los subdirectorios de /usr/src/redhat/RPMS.

rpm -Uvh /usr/src/redhat/RPMS/i386/paquete.i386.rpm

Confirmación de la existencia de paquetería en particular en el sistema.

En ocasiones es posible que se encuentre en una situación como esta: usted encuentra en algún sitio de Internet un paquete RPM® del cual se hablan maravillas en la descripción, pero desconoce si ya lo tendrá instalado, o si ya tiene una versión más reciente; podría averiguarlo descargando dicho paquete, que quizá tenga varios Mega-bytes en tamaño, utilizando una lenta conexión de modem y probando con la línea de mandato rpm -Uvh. Si resultó un paquete más reciente que el que usted tenía, habrán valido la pena los 10-15 minutos invertidos en descargar dicho paquete, pero si ya lo tenía instalado o bien se trataba de una versión anterior, usted desearía haber sabido que podía utilizar la siguiente línea de mandato:

rpm -q nombre_del_paquete_sin_número_de_versión

La correspondiente salida de esto nos dirá si el paquete se encuentra o no instalado y el número de versión.

Si nos interesa examinar la información sobre algún paquete instalado en el sistema, utilizamos la siguiente línea de mandato:

rpm -qi nombre_del_paquete_sin_número_de_versión

Lo anterior devuelve los detalles informativos respecto al paquete instalado.

Si queremos examinar dicha información pero en un paquete no instalado en el sistema, solo hace falta añadir p, que implica que nos referiremos a un paquete, en las opciones del mandato del modo siguiente:

rpm -qpi --clean cualquier_paquete_que_haya_descargado.i386.rpm

Verificación de firmas de paquetes RPM®.

Por cuestiones de seguridad, si usted descarga un paquete RPM® desde un sitio Web o servidor FTP distinto al oficial de la distribución o conjunto de paquetes que utilice, lo más saludable será verificar dicho paquete. JAMÁS descargue e instale paquetes de binarios desde sitios Web dedicados a actividades ilegales o de dudosa reputación.

Por si acaso, utilice la siguiente línea de mandato para verificar las firmas incluidas en paquetes antes de proceder a instalarlos:

rpm -Kv paquete.i386.rpm

Esto debe darle la siguiente salida, donde las x corresponden a la firma PGP de la persona que construyó el paquete:

paquete.i386.rpm: MD5 sum OK: xxxxxxxxxxxxxxxxxxxxx

Compare la firma PGP con la del empaquetador, misma que debe corresponder con la que este proporcione en el sitio Web desde donde descargue dicho paquete.



Existen otras formas en que vienen los paquetes o software.

Por ejemplo en formato tar.bz2 o tar.gz esos archivos tienen un grado mas de complejidad para instalarlos, para el usurario novato así que te recomiendo que busques programas rpm. Pero por cualquier información comunica te conmigo y te ayudare por medio de mail . hugo_cih@hotmail.com



3 Comments:

Blogger Pablo said...

Muchas gracias, me fue muy util es articulo.

11:55 AM  
Blogger Dal Verme said...

¿Y no hay otra forma de instalarlos sin tener que abril terminal? es que eso me parece del pleistoceno, cuando estaba el ms-dos, la verdad.

1:53 AM  
Blogger La profe said...

Un texto realmente educativo, al alcance del novato, al que ignora la sintaxis de la programación.
Tengo Linux Suse hace muy pero muy poco, días, digamos y este aporte es para mi valiosísimo.
gracias por tu generosidad, por el tiempo que has dedicado a escribir todo esto. Y bueno..., ahora sigo buscando más información para aprender un poco más. Me es dificil quitarme de la cabeza los archivos .exe de Windows pero lo lograré.

6:01 PM  

Post a Comment

<< Home