Gestión de paquetes en Mandrakelinux y Suse

Cuando llegamos a Linux instalando una distribución sencilla como Mandrakelinux o Suse muchas veces se nos plantea el problema de querer instalar algún software que no está en los CDs o DVDs de nuestra distribución. Debian es famosa por resolver este problema muy bien gracias a APT y a sus repositorios oficiales. Sin embargo, no es la única que lo resuelve. Tanto en Mandrakelinux como en Suse podemos utilizar repositorios para instalar paquetes desde otras fuentes que no sean los cds. En este artículo veremos cómo.

Introducción
¿Pero qué es un repositorio? Muchas veces pronunciamos esta palabra y no siempre está claro qué es. Un repositorio es un lugar donde hay paquetes que podemos descargar e instalar en nuestro ordenador. Un repositorio puede estar en un servidor FTP, en una página web o incluso puede ser un directorio de nuestro disco duro.

Aunque podemos descargar manualmente los paquetes, lo habitual es utilizar un sistema que gestione automáticamente la lista de paquetes de modo que cuando queramos instalar alguno, compruebe qué dependencias son necesarias y descargue e instale todo automáticamente, lo cual obviamente resulta mucho más cómodo que hacerlo a mano. Hay varios sistemas para gestionar los paquetes de los repositorios; el más famoso es APT. Mandrakelinux, por ejemplo, utiliza urpmi. Cada repositorio tiene una estructura distinta dependiendo del sistema utilizado, aunque esto ya lo veremos a lo largo del artículo.

Cabe recordar que generalmente no es conveniente utilizar paquetes de una versión de Mandrakelinux o de Suse en otra versión, y lo mismo ocurre con los repositorios, puesto que de lo contrario podríamos tener problemas.

Repositorios en Mandrakelinux
Antes de configurar un repositorio en Mandrakelinux es importante que veamos cómo se organiza. Los repositorios de Mandrakelinux constan de uno o varios directorios con los paquetes y uno o varios ficheros que contienen información sobre dichos paquetes. Estos ficheros pueden estar en el mismo directorio o en otro directorio diferente, y suelen llamarse hdlist.cz, synthesis.hdlist.cz o algo parecido. Por ejemplo, hay un repositorio de Mandrakelinux que se llama "Penguin Liberation Front" (PLF), y contiene paquetes que no son incluidos en la distribución porque podrían tener problemas de patentes de software o bien porque no son libres. La dirección de uno de los mirrors españoles es esta:

ftp://ftp.cica.es/mirrors/Linux/plf/mandrake/10.1/

Como podemos ver, hay un directorio llamado "i586" donde están los paquetes y también están tanto el hdlist.cz como el synthesis.hdlist.cz. En este caso, es preferible elegir el primero, y elegiremos el synthesis.hdlist.cz sólo en caso de que no encontremos el primero.

Vamos a ver cómo añadir este repositorio. Abrimos el Centro de control de Mandrakelinux desde el menú "Sistema - Configuración - Configurar su computadora". Hacemos clic en "Administración de software" y a continuación en "Administrador de soportes", y veremos una ventana parecida a la de la derecha.

Pulsamos el botón "Agregar..." y nos aparecerá una ventana con varios campos:

  • Tipo de soporte: Dado que el repositorio que vamos a añadir se encuentra en un FTP, elegiremos la opción correspondiente. Si fuera una página web elegiríamos "Servidor HTTP".
  • Nombre: Aquí podemos colocar el nombre que queramos. Este nombre sólo servirá para identificar al repositorio y no debería haber dos o más repositorios con el mismo nombre.
  • URL: En este campo colocamos la dirección donde se encuentran los paquetes. En el caso de este repositorio, la URL es "ftp://ftp.cica.es/mirrors/Linux/plf/mandrake/10.1/" (sin las comillas).
  • Ruta relativa de synthesis/hdlist: Esta casilla debemos activarla siempre que exista el archivo hdlist.cz o el synthesis.hdlist.cz. Como es una ruta relativa, si está en el mismo directorio colocaremos simplemente el nombre. En caso de estar en otro directorio colocaremos la ruta que corresponda. Ejemplos: "../media_info/hdlist.cz" o "base/synthesis.hdlist.cz".
  • Cuenta y Contraseña: Estos campos sólo tenemos que rellenarlos si para acceder al repositorio hace falta un nombre de usuario y una contraseña. Normalmente no es necesario, por lo que no hay que tocarlos.

La ventana quedará como en la imagen de la derecha. Ya sólo tenemos que pulsar en Aceptar. En ese momento, comenzará a descargarse el fichero hdlist.cz. Cuando haya terminado veremos que el repositorio aparece en la lista y además está activado. Ya podemos pulsar en Aceptar para cerrar el Administrador de soportes y volver al Centro de control de Mandrakelinux.

Para comprobar que el repositorio ha sido añadido correctamente, vamos a instalar un paquete de este repositorio. Pulsamos en Instalar para abrir el RPMdrake. Hay un paquete en este repositorio que se llama win32-codecs, y que contiene los códecs para poder reproducir ficheros en formato .mov y .wmv, entre otros. Escribe el nombre de este paquete y pulsa Buscar. Debería aparecerte en la lista. Al igual que con cualquier otro paquete, si lo seleccionamos podremos leer más información sobre él. Sólo queda marcar la casilla y pulsar en Instalar para ver cómo el paquete es descargado e instalado automáticamente.

Los repositorios lógicamente se actualizan cada cierto tiempo con paquetes nuevos o con versiones nuevas de los paquetes existentes. Si hace mucho tiempo que añadimos el repositorio probablemente tendremos un fichero hdlist.cz antiguo en el que no estarán reflejados los paquetes nuevos. Y lo que es peor, puede que algunos paquetes hayan sido sustituidos por sus versiones nuevas y nuestro ordenador piense que todavía están ahí las viejas, así que si intentamos instalarlos nos daría un error. Por este motivo, es convenienete actualizar de vez en cuando el repositorio.

En el Administrador de soportes pulsamos el botón "Actualizar...". Aparecerá una ventana con la lista de repositorios. Marcamos los repositorios que queramos actualizar en sus casillas correspondientes y pulsamos en Aceptar. En ese momento, comenzarán a descargarse los hdlist.cz/synthesis.hdlist.cz de los repositorios y cuando termine ya los tendremos actualizados.

Repositorios en Suse
Suse también cuenta con un sistema de gestión de repositorios. De hecho, es el propio YaST quien se encarga de ello. Todos los repositorios de YaST tienen la misma estructura. Hay un directorio principal con varios subdirectorios. Siempre existe un subdirectorio llamado setup, que a su vez tiene al menos un directorio llamado descr. En este directorio están los ficheros que contienen la información sobre los paquetes que hay. Como el nombre de estos ficheros es siempre el mismo y siempre se encuentran en el mismo lugar, no hay necesidad de indicar manualmente dónde están, al contrario de lo que ocurre en Mandrakelinux. Por ello, cuando nos dan la dirección de un repositorio de Suse, sólo nos dan el FTP o la página web donde se encuentra, y no necesitamos ningún dato adicional. A parte del directorio setup, hay varios directorios que contienen los paquetes. Por ejemplo, pueden estar i586, noarch y src, aunque puede haber más. Para verlo más claramente, podemos echar un vistazo al repositorio de Packman, que es uno de los más utilizados en Suse. Esta es la dirección de uno de los mirrors:

http://packman.iu-bremen.de/suse/9.1/

Añadir este repositorio es muy sencillo. Abrimos el YaST y nos vamos a "Software - Cambiar fuente de instalación". Nos aparecerá una ventana con la lista de repositorios. Puesto que no hemos configurado ninguno todavía, sólo saldrá el DVD o los CDs, dependiendo de qué hayamos utilizado para la instalación de Suse. Pulsamos el botón "Añadir..." y seleccionamos HTTP en la lista, puesto que este repositorio se encuentra en una página web. Se abrirá una ventana donde debemos introducir los datos:

  • Protocolo: Ya estará activado HTTP, aunque podemos cambiarlo si es necesario.
  • Nombre del servidor: Aquí colocamos el servidor donde está el repositorio. En el caso de Packman, deberemos escribir "packman.iu-bremen.de" (sin las comillas).
  • Directorio en el servidor: Esta es la ruta absoluta donde se encuentra el repositorio. En nuestro caso es "/suse/9.1" (sin las comillas).

También aparece una casilla con el nombre "Anónimo" y dos cuadros donde podemos escribir el nombre de usuario y la contraseña. Normalmente podemos olvidarnos de esto, puesto que prácticamente todos los repositos funcionan de modo anónimo, y no nos piden un usuario y una contraseña para poder acceder.

Tras pulsar en Aceptar, el repositorio aparecerá en la lista. Ya podemos pulsar en Finalizar para aplicar los cambios. Ahora vamos a comprobar que todo ha ido correctamente instalando algún paquete. Puesto que Suse Linux 9.1 no lleva los códecs para ver DivX, XviD y demás, vamos a aprovechar para instalarlos y así matamos dos pájaros de un tiro.

Volviendo a YaST, pulsamos en "Instalar/desinstalar software", tal y como haríamos normalmente. En la parte superior izquierda hay una lista desplegable titulada "Filtro". En ella seleccionamos "Buscar". Ahora vamos a buscar el paquete "libxine1". Podremos ver varios paquetes con ese nombre en la derecha. Es suficiente con marcar el paquete "libxine1". Es probable que en este caso YaST nos diga que hay que desinstalar el paquete "xinelib" por un conflicto, aunque es correcto, ya que a pesar de que tienen nombres distintos en realidad estamos instalando una versión más completa del mismo paquete que hay en el repositorio de Packman, y que es la que contiene estos códecs. Podemos pulsar en Aceptar y veremos cómo YaST descarga e instala automáticamente el paquete en cuestión.

Al igual que en el caso de Mandrakelinux, también es conveniente actualizar de vez en cuando los repositorios. En "Cambiar fuente de instalación", sólo tenemos que seleccionar el repositorio en cuestión y pulsar el botón "Editar...", seleccionando "Actualizar" en la lista desplegable.

Espero que este artículo os haya gustado y os haya resultado muy útil.