La configuración de los repositorios es uno de los caballos de batalla principales a los que todo usuario novel de Linux se ha de enfrentar. Acostumbrado, si se ha sido usuario de Windows, a buscar los programas en Google y seguidamente descargar el instalador y hacer doble clic, la aparición de paquetes, dependencias y el sitio en el que se encuentran alojados puede considerarse un galimatías que, al principio, resulta complicado de entender.
Muchas distribuciones, entre las que se incluye Chakra, vienen con este tema resuelto de inicio, ya sea configurando por el usuario los archivos que se encargan de alojar las direcciones de los repositorios o incluyendo aplicaciones gráficas para hacer más sencilla su utilización. El objetivo del presente tutorial es aclarar las diferencias en la gestión de los repositorios entre Chakra y Arch, pues muy probablemente, como fue muy caso, habrá usuarios de la genial distro canadiense que acaben dando con sus huesos en la prometedora Chakra. Si bien la base de ésta es Arch, no comparten repositorio alguno ni se recomienda mezclar paquetes entre ambas.
El manejo de los repositorios de Chakra y Arch se parecen en dos cosas: ambos usan pacman como herramienta y los dos buscan la máxima simplicidad (cosas de la filosofía KISS), huyendo de los repositorios externos y agrupando la paquetería todo lo posible. Los repositorios oficiales de Chakra son diez, divididos en tres grupos.
Repositorios principales
- core –> incluye los paquetes que conforman la base del sistema.
- platform –> paquetes adicionales y dependencias de compilación de programas de KDE.
- desktop –> programas de KDE y herramientas propias de Chakra.
- apps –> otras aplicaciones de KDE/Qt.
- games –> juegos y aplicaciones relacionadas con estos.
- lib32 –> paquetes de 64 bits compilados para librerías de 32 bits.
Repositorios de pruebas
- testing –> aloja paquetes en fase de pruebas antes de pasar a los repos principales.
- lib32-testing –> los mismo, antes de pasar al repositorio lib32.
Repositorios inestables
- unstable –> paquetes en fase de desarrollo.
- kde-unstable –> versiones de desarrollo de programas de KDE. Este repositorio solamente se usa cuando hay que probar actualizaciones completas de KDE (por ejemplo, de 4.7.x a 4.8).
Evidentemente, si nuestro uso del ordenador es básico como usuario doméstico, no veo la necesidad de emplear nada más que los repositorios principales, dejando el resto a aquellos que se encargan de probar los programas y reportar los errores que encuentren. La instalación de Chakra solamente habilita por defecto los seis primeros repositorios en el archivo /etc/pacman.conf.
Repositorios de la comunidad
Al igual que sucede con Arch y AUR, la comunidad de Chakra pone a disposición de los usuarios un repositorio alternativo que incluye gran cantidad de paquetes. El repositorio CCR (Chakra Community Repository, Repositorio Comunitario de Chakra) es, como su propio nombre indica, mantenido por la comunidad, de modo que debe usarse con precaución y los errores que eventualmente se puedan producir no son imputables a la propia Chakra. En el momento de escribir este tutorial hay 2.142 paquetes en CCR, subidos y mantenidos por 618 usuarios distintos.
Localizar e instalar un programa
Tras la breve introducción sobre la forma en que se organizan los paquetes y repositorios de Chakra, vamos a centrarnos en el quid de la cuestión. Quiero instalar un programa, ¿cómo lo hago? Chakra venía apostando tradicionalmente por el gestor de paquetes appset-Qt, pero sus errores a la hora de manejar grandes actualizaciones (yo mismo los sufrí en Arch) hicieron a los desarrolladores decantarse por recomendar el uso de la línea de comandos, mientras finalizan el gran proyecto que es el gestor Akabei.
Vamos, pues, a usar la terminal. Lo primero, extensible a cualquier distribución de Linux, es actualizar el sistema, lo que lograremos con:
A continuación, si sabemos el nombre del programa que queremos instalar, en nuestro ejemplo, el programa «nombre» haremos:
Si lo desconocemos, podemos usar la función de búsqueda de pacman. Si queremos que nos muestre programas en cuya descripción o nombre aparezca la palabra «descarga», por poner un ejemplo, la instrucción será esta:
Nótese que no se precisa el «sudo», pues no vamos a modificar el sistema para nada, tan solo estamos requiriendo información. El resultado puede ser una lista con paquetes, o bien, nada de nada. En caso de que no encontremos lo que deseamos, el paso siguiente es buscar en CCR. Primero, instalamos el script:
Con esto instalamos tanto el script como las herramientas necesarias para la compilación de paquetes en nuestro sistema. Podríamos decir que ccr es como packer o yaourt, pero adaptados a Chakra, no diferenciándose demasiado en sus principales directrices de uso. A continuación buscamos nuestro programa «nombre» en el CCR:
El script ccr no debe usarse como root, sino lanzarse como usuario normal. Cuando precisa de contraseña para continuar, el propio ccr la pide. El resultado puede ser una lista, como veíamos antes. Si hemos tenido suerte y está el programa que buscábamos, procedemos a su instalación:
Deberemos estar pendientes de los mensajes de la terminal, pues ccr pedirá confirmación para algunas cosas, entre otras, editar los archivos de instalación. Como usuario normal nunca he necesitado hacer esto.
En el caso de que ccr tampoco aloje el programa que buscamos aún tenemos otra posibilidad: buscarlo en AUR, el repositorio comunitario de Arch Linux. Si bien se puede instalar directamente desde AUR usando la herramienta packer, esto está totalmente contraindicado si queremos mantener la «salud» de nuestro sistema Chakra. La opción que recomiendan los desarrolladores pasa por crear un paquete apto para Chakra a partir del paquete que está en AUR, para lo cual emplearemos el script aur2ccr. Lo instalamos:
El script funciona muy bien, básicamente lo que hace es localizar un determinado paquete en AUR, descargar las fuentes, resolver las dependencias y crear un paquete en formato .pkg listo para que pacman lo instale en nuestro sistema. En nuestro ejemplo:
También se puede añadir nuestra dirección de e-mail y el script se encargará de actualizar la información en los archivos del paquete para que figuremos como mantenedores del mismo:
Si todo ha ido bien, cosa que puede no suceder si el programa que requerimos maneja muchas dependencias gtk, habremos obtenido un archivo nombre.pkg.tar.xz, es decir, un paquete que pacman es capaz de instalar localmente escribiendo, en el directorio donde se haya descargado, que suele ser /home/nombre:
Y solamente nos resta probar que el programa funciona correctamente en Chakra. Como apuntaba anteriormente, si tenemos una aplicación con fuerte dependencia de librerías gtk, hay muchas probabilidades de que la cosa no marche bien. En mi experiencia personal tuve resultados dispares. Por ejemplo, Vagalume, el reproductor de música en streaming para last.fm y libre.fm, lo conseguí instalar usando este método, aunque me daba un error que finalmente acerté a solucionar. El paquete vagalume está ahora en ccr (una vez comprobé que funcionaba lo subí). Sin embargo, con Shotwell no hubo forma. Este conocido gestor de fotos depende excesivamente de las librerías de Gnome, y cada dependencia que solucionaba me mandaba a otra nueva por solucionar. Acaba siendo un laberinto de dependencias gtk que no tiene sentido tratar de resolver. Simplemente, hay programas «tan gtk» que no son aptos para Chakra o viceversa.
Actualización del sistema
El poner un sistema con Chakra al día no se diferencia en nada de hacer lo propio con Arch. Abrimos una terminal y escribimos:
O bien:
si queremos que nuestra actualización se haga extensiva a los paquetes instalados desde el CCR. Aunque Chakra no es Arch y no se actualiza con la frecuencia que lo hace su distro madre (lo que, a mi entender, es una de sus virtudes) sí que suelen aparecer nuevas versiones de los paquetes a menudo. Podemos encontrarnos con la extraña situación de que pasen semanas sin que esto ocurra. En este caso, tenemos un error en la configuración de pacman.conf, posiblemente debido al uso de rankmirror que hace el instalador Tribe.
Para quien no la conozca, la utilidad rankmirror devuelve el espejo (mirror) más rápido de los repositorios que tengamos configurados en el archivo /etc/pacman.d/mirrorlist. Durante el proceso de instalación de Chakra el propio programa Tribe hace una ejecución de esta utilidad y conforma un archivo pacman.conf con los espejos más rápidos (que suelen coincidir con los más cercanos) para nuestro caso. Si estamos en España, lo más probable es que el primer espejo que aparezca en nuestro pacman.conf sea el de Caliu (ftp.caliu.cat) cuyo servidor se encuentra alojado en Cataluña. Como quiera que este espejo se emplea como «backup», es decir, que no se actualiza al mismo tiempo que los demás, sino que aloja versiones antiguas de los paquetes a las que recurrir si algo va mal, es preciso que lo comentemos con el caracter #. Es decir:
Y la línea debe quedar así:
#Server = http://ftp.caliu.cat/pub/distribucions/chakra/repo/$repo/x86_64
En mi caso, el mirrorlist queda de este modo:
# mirrorlist generated by rankmirrors during chakra installation
# the original file was saved to /etc/pacman.d/mirrorlist.pacsave
#Server = http://ftp.caliu.cat/pub/distribucions/chakra/repo/$repo/x86_64
#Server = http://www-ftp.lip6.fr/pub/linux/distributions/chakra/$repo/x86_64
#Server = http://ftp.ciril.fr/pub/linux/chakra/$repo/x86_64
Server = http://www-ftp.lip6.fr/pub/linux/distributions/chakra/$repo/x86_64
Server = ftp://ftp.lip6.fr/pub/linux/distributions/chakra/$repo/x86_64
Nada más, espero que estas líneas sirvan de ayuda a quien lo precise. No me he planteado hacer un tutorial de instalación de Chakra, simplemente porque la misma es tan sencilla que no le veo utilidad. Saludos.