Un muy pequeño tutorial de URPMI, una herramienta que facilita la instalación y manejo de paquetes en Mandrake GNU/Linux
Junio 22 de 2.004
Por Manuel Alejandro Cerón Estrada
Contenido |
Administrando Paquetes con URPMI
Por lo general para manejar software en GNU/Linux se usan paquetes. Un paquete es un archivo que agrupa todas las partes que una aplicación [1] necesita para funcionar correctamente. Por ejemplo el paquete de XMMS agrupa ejecutables, librerías, archivos de datos, documentación y archivos de ejemplo de esta aplicación. Los paquetes se usan porque es más fácil y seguro distribuir el software, especialmente por Internet, si todo está en un mismo archivo.
El modo en que un sistema GNU/Linux maneja los paquetes es uno de los aspectos que más varía entre distribuciones; así distribuciones como Mandrake, Debian, Slackware y Gentoo tienen todas un formato y sistema de manejo de paquetes diferente.
Mandrake comenzó como un derivado de RedHat Linux y por esta razón usa su mismo sistema de administración de paquetes: RPM (RedHat Package Mannager ó Administrador de Paquetes de RedHat). El problema de los paquetes RPM, es que manejan muchas dependencias. Es decir que a veces para que la aplicación de un paquete funcione, es necesario que otros paquetes estén instalados. Por ejemplo, cualquier aplicación gráfica [2] requiere que esté instalado el paquete Xfree86 [3]. Mandrake cuenta con una herramienta, muchas veces desconocida por sus usuarios, que maneja automáticamente las dependencias a la hora de instalar o desinstalar un paquete, esta herramienta es URPMI. En este pequeño artículo voy a tratar de dar una introducción a esta útil aplicación.
Programas de URPMI
Primero que todo, veremos cuales son los programas más importantes de URPMI:
- urpmi: sirve para instalar paquetes
- urpme: sirve para desinstalar paquetes
- urpmf, urpmq: sirve para buscar paquete
- urpmi.addmedia, urpmi.removemedia, urpmi.update: sirven para manejar los repositorios de paquetes.
Instalar un paquete con URPMI es una tarea muy fácil, simplemente es es necesario escribir:
# urpmi [nombre del paquete]
Después de eso, si el paquete (o los paquetes) tienen algún tipo de dependencia, URPMI preguntará si se desea instalar también dichas dependencias, en caso de una respuesta afirmativa, URPMI procederá a instalar recursivamente todas las dependencias. Por ejemplo, para instalar esound:
[root@localhost ceronman]# urpmi esound Para resolver las dependencias, se instalarán los paquetes siguientes (0 MB): esound-0.2.34-0.1gpw.i586 libesound0-0.2.34-0.1gpw.i586 libesound0-devel-0.2.34-0.1gpw.i586 ¿Está todo bien? (S/n)
En caso de dar un “S”, URPMI instalará libesound y libesound0-devel y despues esound.
Para desinstalar un paquete no es necesario más que escribir:
# urpme [nombre del paquete]
Si los paquetes que se desean desinstalar son una dependencia de otros paquetes, URPMI preguntará si se desea desinstalar también esos paquetes, y en caso afirmativo desinstalará recursivamente los paquetes. Por ejemplo, si se intenta desinstalar XMMS:
[root@localhost ceronman]# urpme xmms Para satisfacer las dependencias, se quitarán los paquetes siguientes (13 MB): xmms-1.2.9-3mdk.i586 xmms-alsa-1.2.9-3mdk.i586 (debido a que no se satisfizo xmms == 1.2.9-3mdk) xmms-kjofol-skins-1.2.0-7mdk.i586 (debido a que no se satisfizo xmms >= 1.2.0) xmms-mesa-1.2.9-3mdk.i586 (debido a que no se satisfizo xmms == 1.2.9-3mdk) xmms-more-vis-plugins-1.7.0-4mdk.i586 (debido a que no se satisfizo xmms >= 1.0.0) xmms-skins-1.0.0-16mdk.noarch (debido a que falta xmms) xmms-wma-0.2.1-1.i386 (debido a que no se satisfizo xmms >= 1.0.1) ¿Está todo bien? (s/N)
Los repositorios
Para que URPMI pueda funcionar correctamente, es necesario asignarle unos repositorios de confianza. Un repositorio no es más que un lugar donde se tienen muchos paquetes para descargar. Un repositorio puede estar en un dispositivo removible (como un CD-ROM), en el disco duro de nuestro PC, o en Internet. Cuando recién se instala Mandrake, los únicos repositorios que se tienen configurados son los de los CD-ROM de instalación. Aunque en los CD-ROM de instalación hay muchos paquetes, es muy probable que se quiera instalar un paquete que no esté ahí. Entonces hay que agregar más repositorios a URPMI.
Los archivos de lista
Todos los repositorios tienen un archivo especial que contiene datos importantes de los paquetes que tienen. Este archivo es llamado “archivo de lista”. El archivo de lista contiene datos como el nombre, descripción, dependencias y otras cosas de cada paquete. De esta forma URPMI puede obtener información importante de los paquetes sin tener que acceder o bajar cada uno. Un archivo de lista de un repositorio de paquetes de Mandrake usualmente se llama hdlist.cz. El archivo de lista puede ocupar mucho espacio, a veces varias decenas de Mega bytes, es por eso que algunas veces, especialmente en los repositorios de Internet, podemos encontrar un resumen del archivo de lista, que solo contiene los datos más necesarios. Este archivo usualmente se llama synthesis.hdlist.cz.
Administrar repositorios
Agregar, eliminar y actualizar repositorios es una tarea bastante fácil. Para agregar un repositorio simplemente usamos:
# urpmi.addmedia [nombre delrepositorio] [dirección del repositorio] with [archivo de lista]
Como nombre del repositorio se puede colocar cualquiera, sirve para identificar nuestro repositorio. La dirección del repositorio viene siendo la ruta en el disco, o la dirección de Internet (sea http o ftp) del repositorio. Y en archivo de lista se coloca la ruta relativa [4] del archivo de lista. Por ejemplo, para agregar el repositorio PLF:
[root@localhost ceronman]# urpmi.addmedia plf ftp://ftp.cica.es/mirrors/Linux/plf/mandrake/10.0 with hdlist.cz
Para eliminar un repositorio simplemente usamos:
# urpmi.removemedia [nombre del repositorio]
Y para actualizar:
# urpmi.update [nombre del repositorio]
Donde encontrar repositorios.
En Internet hay varios sitios que permiten configurar fácilmente los repositorios de urpmi. Existen muchos tipos de repositorios, desde el principal (main), que es el mismo de los CD-ROM pero con paquetes actualizados, hasta PLF que contiene paquetes de dudosa legalidad como programas P2P y “rippeadores” de DVDs. Estos son los principales sitios donde se pueden encontrar repositorios de URPMI:
- El Urpmidor: Este sitio contiene un pequeño tutorial de URPMI. Tiene un asistente que, haciendo unas preguntas muy sencillas, permite agregar gran variedad de repositorios. Lo bueno es que cada repositorio tiene una pequeña descripción.
- Thebrix: Este sitio no tiene un asistente fácil de usar, pero si contiene una lista actualizada y detallada de casi todos los repositorios de paquetes para Mandrake.
- Easy URPMI: Este es un sencillo asistente para agregar los repositorios oficiales de Mandrake. Tambien permite escoger entre varios “mirrors” de cada repositorio.
Usando URPMI gráficamente.
Por supuesto, además del URPMI por linea de comandos, Mandrake cuenta con varias herramientas gráficas [5] que facilitan aun más el manejo de paquetes. Estas herramientas son:
- rpmdrake: Para instalar paquetes.
- rpmdrake-remove: Para desinstalar paquetes.
- edit-urpm-media: Para administrar repositorios
Obteniendo más información.
Por supuesto, URPMI tiene muchas opciones y trucos de los que he podido mencionar en este artículo, por ejemplo tiene la opción de bajar los archivos usando wget, o de comprobar si existen conflictos entre paquetes ya instalados. Para los que deseen más información sobre esta herramienta, pueden consultar su página del manual con:
# man urpmi
O buscar en su página web: http://www.urpmi.org
Referencias
[1] Hay que aclarar que además de aplicaciones, un paquete pude contener una librería, o recursos como temas de escritorio, etc.
[2] Casi todas las aplicaciones gráficas usan el sistema X Window para funcionar. Sin embargo, también es posible hacer una aplicación gráfica accediendo directamente al Frame Buffer de la tarjeta de video sin usar X gracias a librerías como SVGAlib.
[3] Xfree86 es la versión libre de X Window, el sistéma para utilizar interfaces gráficas de usuario en sistemas Unix.
[4] Una ruta relativa se refiere al camino que tengo que seguir para llegar al archivo, si supongo una cierta ruta como raiz. Por ejemplo, si mi repositorio está en /home/ceronman/paquetes (se supone esta ruta como raiz) y el archivo de lista está en /home/ceronman/hdlist.cz, entonces la ruta relativa es ../hdlist.cz
[5] Aunque estas herramientas no son más que "Front-Ends" de las herramientas de linea de comandos.
El contenido del material publicado por nuestros columnistas es responsabilidad de sus autores.
Para saber más sobre la programación y naturaleza de nuestros artículos, columnas y pistas técnicas, haga clic aquí.