Los paquetes rpm son archivos que llevan incluidos dentro de ellos todos los ficheros que componen un determinado programa. Internamente están comprimidos, pero nosotros sólo debemos pensar en ellos en términos de Instalación, Actualización, Borrado y Consultas. Dentro del rpm van los ficheros del programa a instalar, su descripcion, a que directorios van a ir instalados, scripts de auto-configuración en algunos casos, etc.
La sintaxis de rpm es rpm -acción nombre_del_paquete
Acciones:
rpm -i archivo (instalar) rpm -e paquete (desinstalar) rpm -u paquete (actualizar) rpm -qi paquete (pedir info)Ejemplos:
rpm -i Par-1.50-1.i386.rpm rpm -e Par rpm -u Par rpm -qi ParSupongamos el fichero
programa-1.0.rpm
que no tenemos instalado
y que acabamos de bajar de Internet. Procedemos a su instalación:
rpm -i programa-1.0.rpmTras eso el programa estará instalado en nuestro Linux y podremos ejecutarlo y usarlo normalmente. Tal vez nuestro problema es que no sabemos como se llama el ejecutable y los demás ficheros de configuración que le acompañan. Para solucionar eso hacemos una consulta (query) del paquete ya instalado:
rpm -ql programaLa acción -ql significa "query list", y nos mostrará en pantalla la lista de ficheros instalados de este programa y sus directorios destinos. Si por ejemplo deseamos ver sólo los fichero sean instalados en los directorios bin (los ejecutables) podemos hacer uso de grep, la herramienta de Linux que sólo nos mostrará aquellas líneas que contengan una cadena determinada:
rpm -ql programa | grep binEsto nos mostrará sólo los ficheros de "programa" que hayan sido instalados en directorios bin.
Si queremos saber que hace un paquete instalado, podemos verlo con la opción "query info" (-qi):
rpm -qi programaComo ejemplo, veamos la salida para el paquete fetchmail de Linux:
Name : fetchmail Relocations: (not relocateable) Version : 5.0.0 Vendor: Red Hat Software Release : 1 Install date: dom 30 may 1999 16:00:12 CEST Group : Applications/Internet Size : 565413 Packager : Red Hat Software http://developer.redhat.com/bugzilla Summary : A remote mail retrieval and forwarding utility. Description : Fetchmail is a remote mail retrieval and forwarding utility intended for use over on-demand TCP/IP links, like SLIP or PPP connections. Fetchmail supports every remote-mail protocol currently in use on the Internet (POP2, POP3, RPOP, APOP, KPOP, all IMAPs, ESMTP ETRN) for retrieval. Then Fetchmail forwards the mail through SMTP, so you can read it through your normal mail client.Si el programa no nos gusta, la deinstalación es muy sencilla:
rpm -e programaObviamente, no tenemos porqué instalar los programas para ver su contenido o información. Los podremos ver antes de la instalación insertando un comando p antes de la acción:
rpm -qpi fichero.rpm rpm -qpl fichero.rpmSi queremos ver la lista de RPMs instalados disponemos del comando "query all" (-qa):
rpm -qaPara verlo en formato pausado, podemos usar una tubería:
rpm -qa | lessEs posible que tras un tiempo obtengamos la versión 2.0 del programa que ya disponemos instalado. En esto caso hay 2 opciones: bien eliminar el programa anterior (-e) e instalar este nuevo (-i), o, simplemente, actualizar el programa a la versión 2.0 con el comando -U (de Update):
rpm -U programa-2.0.rpmPor último, si al tratar de instalar un paquete rpm aparece el siguiente error:
Data type X not supprtedEsto es debido a que nuestra versión de rpm es muy antigua, al menos más que el rpm que estamos tratando de instalar, y que este tiene algún tipo de compresión o elemento que nuestro rpm no entiende. Bastará entonces con actualizar nuestro ejecutable del RPM.
Cabe decir que también existen front-ends al programa rpm, es decir, programas en modo gráfico (o texto) que realizan las acciones del programa RPM mediante pulsaciones nuestras del ratón. Es el front-end el que se encarga de pasarle a RPM los parámetros correctos para que se realice la acción pedida por el usuario. Entre estos programas tenemos glint, gnorpm, purp, kpackage, xrpm, etc.