3. Las herramientas urpmi.

Esta sección discute individualmente las herramientas urpmi. Presento la información con muchos ejemplos, pero no exploro muchas de las opciones menos usadas. Para más detalles de cada comando y opciones más avanzadas, refiérase a las páginas man.

3.1. urpmi

La herramienta urpmi es el elemento central de todo el conjunto urpmi. Esta herramienta permite la instalación de rpms conocidos y resuelve las dependecias para usted basándose en las bases de datos de los paquetes. La invocación simple de este comando es para instalar un paquete haciéndose así:

urpmi vim - esto instalará el paquete vim y todos aquellos paquetes de los cuales dependa.

urpmi también intenta ayudarle si no conoce el nombre exacto del paquete. Por ejemplo, si quiere instalar el sistema de preparación de documentos DocBook y no conoce que paquetes necesita, puede hacerse lo siguiente;


[root@deneb root]# urpmi docbook
The following packages contain docbook: docbook-dtd31-sgml docbook-dtd412-xml koffice docbook-style-dsssl
docbook-style-dsssl-doc docbook-style-xsl docbook-utils docbook-dtd41-sgml

[root@deneb root]# urpmi docbook-dtd41-sgml
To satisfy dependencies, the following packages are going to be installed (1 MB):
libxml2-utils-2.4.16-2mdk.i586 docbook-dtd41-sgml-1.0-5mdk.noarch sgml-common-0.6.3-4mdk.noarch
Is it OK? (Y/n)

[... listing trimmed ...]
		

3.2. urpme

El comando urpme es similar al comando urpmi, excepto que elimina los paquetes instalados. Éste también le preguntará si eliminar todos aquellos paquetes que sean dependientes del paquete que se va a eliminar. Por ejemplo, para desintalar samba-common con el comando urpme samba-common da lo siguiente:

[root@deneb root]# urpme samba-common
To satisfy dependencies, the following packages are going to be removed (14 MB):
samba-common-2.2.3a-10mdk samba-2.2.3a-10mdk samba-client-2.2.3a-10mdk
Is it OK? (Y/n)

[... listing trimmed ...]
		

3.3. urpmq

El comando urpmq le permite buscar paquetes. Proporciona un término de búsqueda y urpmq intentará encontrar el nombre de los paquetes que contengan ese término. Se devolverán resultados de lista de páquetes sean tanto paquetes instalados como no. Así, por ejemplo, si quiere conocer que paquetes tienen relación con el kernel, puede utilizar el comando urpmq kernel, esto hará lo siguiente


[root@deneb root]# urpmq kernel
The following packages contain kernel: kernel-source kernel-headers kernel22
kernel-secure-2.4.18.6mdk kernel-doc-pdf kernel-doc-ps kernel-doc kernel-alert
kernel22-smp fortune-kernelcookies kernel-2.4.18.6mdk kernel-doc-html
kernel-enterprise-2.4.18.6mdk kernel-smp-2.4.18.6mdk
		

3.4. urpmf

El comando urpmf es una herramiente de búsqueda más avanzada que le permitirá buscar un archivo en todos los paquetes conocidos (aquellos instalados como disponibles). Así, por ejemplo, si prueba de compilar un programa y el script de configuración se queja de no encontrar ncurses.h, puede hacer urpmf ncurses.h para encontrar que éste es parte del paquete libncurses5-devel (entonces después puede escribir urpmi libncurses5-devel para instalarlo si lo quiere).


[root@deneb root]# urpmf ncurses.h
libncurses5-devel:/usr/include/ncurses.h
libncurses5-devel:/usr/include/ncurses/ncurses.h
php-devel:/usr/src/php-devel/extensions/ncurses/php_ncurses.h
		

3.5. urpmi.addmedia

Este comando le permite añadir nuevas fuentes de rpms a su base de datos urpmi. Si la fuente es un recurso remoto, éste ha de tener los archivos hdblist adecuados (los mirrors de Mandrake tienen estos archivos, otros puede que no). Puede usar este comando para añadir fuentes que están ubicadas en un CD o disco duro. Una lista de fuentes oficiales de Mandrake está disponible en: Mandrake web site.

Como ejemplo se puede añadir una fuente que contiene las actualizaciones de seguridad de Mandrake 8.2, haciéndose de esta manera:


[root@deneb root]# urpmi.addmedia updates \
	ftp://ftp.sunet.se/pub/Linux/distributions/mandrake/updates/8.2/RPMS \
	with ../base/hdlist.cz
added medium updates
retrieving description file of "updates"...
...retrieving done
retrieving source hdlist (or synthesis) of "updates"...
  % Total    % Received % Xferd  Average Speed          Time             Curr.
                                 Dload  Upload Total    Current  Left    Speed
100  402k  100  402k    0     0   3653      0  0:01:52  0:01:52  0:00:00  4833
...retrieving done
examining whole urpmi database	

[... listing trimmed ...]
		

Una vez la fuente ha sido añadida, se puede comprobar e instalar actualizaciones de seguridad con urpmi.update -a seguido de urpmi --auto-select.

Para el próximo ejemplo, se han bajado diferentes rpms de Internet i se han guardado en el directorio /files/myrpms. Estaría muy bien que urpmi conociera estos rpms para que podamos actualizarlos y resolver las dependencias con facilidad. Para esto, se añade una fuente rpm local asín:


[root@deneb root]# urpmi.addmedia myrpms file://files/myrpms
added medium myrpms
building hdlist [/var/cache/urpmi/partial/hdlist.myrpms.cz]

[... listing trimmed ...]
		

Ahora puede que ústed haya bajado un gran número de interesantes rpms y decide ponerlos en un CD, se puede hacer esto con el siguiente comando:


[root@deneb root]# urpmi.addmedia mycd removable://mnt/cdrom/
added medium mycd
building hdlist [/var/cache/urpmi/partial/hdlist.mycd.cz]

[... listing trimmed ...]
		

3.6. urpmi.removemedia

Este comando elimina una fuente de paquetes de la base de datos. Por ejemplo, urpmi.removemedia updates eliminará las fuentes de actualización que hemos añadido anteriormente en este HOWTO.

3.7. urpmi.update

El comando urpmi.update visita todas las fuentes de rpms que han sido definidas y actualiza la lista de paquetes si fuera necesario. Por ejemplo, si añadió una fuente de seguridad hace un par de meses y nuevas actualizacions han aparecido, necesitará hacer urpmi.update -a para actualizar la base de datos. Puede instalar las actualizacions con urpmi --auto-select.