Administración de paquetes con RPM |
SOFTWARE - General | ||||||||||||||||||||||||||||||||||||||||||
Tuesday, 09 May 2006 15:18 | ||||||||||||||||||||||||||||||||||||||||||
There are no translations available. Aprende a trabajar con este gestor de paquetes desde el intérprete de comandos de la shell... Administración de paquetes con RPMRed Hat Package Manager es un sistema gestor de paquetes creado en origen para la distribución Red Hat aunque puede ser usada bajo cualquier otra distribución Linux y UNIX. En este artículo vamos a aprender a trabajar con este gestor de paquetes desde el intérprete de comandos de la shell.
Antes de proseguir hay que tener en cuenta el concepto de paquete. Un paquete es un archivo que contiene una aplicación o más concretamente los archivos que integrarán la aplicación (archivos de configuración, documentación y los archivos que interrelacionados componen la propia aplicación) generados al administrarse por esta herramienta. En este documento tomaremos como ejemplo el siguiente paquete: prog-1.0-1.i386.rpm
Gracias a esta herramienta de administración completamente gratuita se permite al usuario desempaquetar el código fuente de forma que los archivos binarios que componen el paquete pueden ser localizados e instalados, o bien reconstruir los paquetes originales con facilidad. Además, gracias a que gestiona una base de datos de todos los paquetes instalados en el sistema nos facilita el obtener información o verificar los paquetes o los archivos que derivan de estos. OBJETIVOS DE RPM:
OBTENER RPM y PAQUETES RPM:Si no trabajamos bajo una distribución Red Hat podremos obtener la herramienta en el siguiente enlace o de los discos de instalación de nuestra distribución Red Hat pertinente. Para encontrar algun paquete en específico podríamos encontrarlos en la web puesto que al ser software gratuito existen muchas fuentes en Internet para descargarlos. No obstante una buena fuente de recursos rpm serían estas: http://www.redhat.com/download/mirror.html USO de RPM:Vamos a ver como gestionar paquetes con la herramienta RPM, no obstante no entraremos en detalle de cómo crear y compilar paquetes, únicamente nos centraremos en la administración de paquetes ya creados para la administración y gestión de nuestro software. INSTALACIÓN DE RPMSVamos a ver como instalar un paquete. A la hora de instalar un paquete específico usaremos las opciones:
Así pues la mejor forma de instalar un paquete evitandonos posibles situaciones de error sería: rpm -Uvh prog-1.0-1.i386.rpm Con esta orden se instalaría el paquete. Si todo a ido bien la salida que nos mostrará por pantalla será: 1:prog ################################################## [100%] De forma que primero nos muestra el nombre del paquete y las almohadillas nos irán apareciendo como medidores de progreso (gracias a las opciones añadidas -vh ) Si no se verificase la firma del paquete o fuese otra firma nueva (por ser por ejemplo un paquete de actualización) nos mostraría error. La instalación de paquetes así pues es sencilla pero se nos podrían presentar una serie de errores:
DESINSTALACIÓN DE RPMSSe haría mediante el comando: rpm -e prog-1.0-1 No obstante al desinstalar el paquete nos podríamos encontrar un error de dependencia ya que los archivos del paquete que estamos desinstalando dependen aparte de otro paquete. Si quisieramos desinstalarlo no obstante (no es recomendable) podríamos hacerlo añadiendo la opción --nodeps. ACTUALIZACIÓN DE RPMEl proceso de actualización de un paquete bajo rpm tiene una mecanica bastante sencilla: básicamente lo que hace es desinstalar el paquete existente e instalando la nueva versión posteriormente. rpm -Uvh prog-2.0-1.i386.rpm Los posibles errores que nos podría reportar este comando serían los habituales de una desinstalación y de una instalación. Si al actualizar un paquete nos encontramos que ya tenemos una versión mas actual del paquete a instalar y aún así queremos realizar la operación lo haríamos de la siguiente manera: rpm -Uvh --oldpackage prog-1.0-1.i386.rpm (suponiendo que queremos reemplazar la versión prog-2.0-1.i386.rpm) REFRESCAMIENTO DE RPMSi bien la opción de actualizar un paquete nos instala un paquete tengamos una versión previa o no, la opción de refrescamiento funciona de forma similiar con la excepción de que sólo instala una version nueva si ya teniamos instalada una versión anterior. rpm -Fvh prog-2.0-1.i386.rpm Esta opción es muy util para actualizar toda una serie de paquetes y no sabemos de cuales de ellos tenemos una versión previa instalada. Mediante el comando: rpm -Fvh *.rpm Actualizaríamos todos los paquetes de nuestro directorio, pero solamente se instalarían los paquetes de los que ya teniamos una versión anterior. CONSULTAS RPMA la hora de realizar una consulta siempre usaremos la opción -q. Así pues si usamos el comando: rpm -q prog Nos daría por el terminal el nombre del paquete, la versión y número del paquete instalado.
Aparte tenemos otra opciones de especificación que nos especificarán el tipo de información a mostrar:
VERIFICACIÓN DE RPMBásicamente consiste en comparar la información de los archivos instalados con la propia información del paquete original. Especificamente nos comparará parámetros como el tamaño, los permisos, el tipo, el dueño, el grupo y la suma MD5. Para verificar un paquete usaremos la opción: rpm -V prog-1.0-1.i386.rpm Para verificar un paquete que contiene un determinado archivo usaremos la opción: rpm -Vf /home/carlos/doc1_amsn.txt (Hay que notar la ruta completa del archivo a comprobar) Para verificar TODOS los paquetes instalados: rpm -Va Para verificar un paquete instalado con un archivo de paquete RPM: rpm -Vp prog-1.0-1.i386.rpm Si no hubiese conflicto no habria ninguna salida tras la ejecución del comando. Si hubiese algún tipo de discrepancia la salida tendría el siguiente formato: Una cadena de ocho caracteres (una c identifica un archivo de configuración) seguido por el nombre del archivo. Cada uno de esos ocho caracteres nos inica el resultado de comparar un atributo específico de ese archivo con el valor que se le supobe a ese archivo y que está escrito en la base de datos de RPM. Los siguientes caracteres indican que pruebas no han sido pasadas:
VERIFICAR LA FIRMA DE UN PAQUETEPara verificar la firma de un paquete y ver si el paquete ha sido dañado o alterado usaremos el sguiente comando: rpm -K prog-1.0-1.i386.rpm Si nos muestra como resultado: prog-1.0-1.i386.rpm: md5 gpg OK Nos indicará que no ha habido problemas y el archivo no ha sido dañado en el momento de la descarga. ENLACES DE INTERÉS:http://es.tldp.org/COMO-INSFLUG/es/pdf/RPM-Como.pdf http://www.rpm.org/max-rpm/s1-rpm-install-performing-install.html http://www.die.net/doc/linux/man/man8/rpm.8.html http://www.redhat.com/download/mirror.html http://k12linux.org/netadmin/webserver.html http://www.rpm.org/max-rpm-snapshot/ |