Tutorial: manejo de repositorios en Chakra

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:

sudo pacman -Syu

A continuación, si sabemos el nombre del programa que queremos instalar, en nuestro ejemplo, el programa «nombre» haremos:

sudo pacman -S nombre

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:

pacman -Ss descarga

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:

sudo pacman -S ccr base-devel

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:

ccr -Ss nombre

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:

ccr -S nombre

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:

ccr -S aur2ccr

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:

aur2ccr -m nombre

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:

aur2ccr -m «micorreo@correo.com» nombre

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:

sudo pacman -U nombre.pkg.tar.xz

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:

sudo pacman -Syu

O bien:

ccr -Syu

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:

sudo nano /etc/pacman.d/mirrorlist

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.

17 comentarios sobre “Tutorial: manejo de repositorios en Chakra

  1. "…….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".pues si eso me parece que lo habías comentado en un artículo anterior que bueno que no se me ocurrio actualizar el sistema con appset-Qt, siempre lo hice con pacman -Syu , ummm en cuanto a Akabei pues me alegras el día no tenía idea que se los amigos desarrolladores de chakra estaban trabajando en algo como eso , espero que mantenga algunas cosas buenas de appset-Qt como por ejemplo me agradan los boletines informativos que aparecen con noticias de la distro y algunos buenos tips que son útiles para actualizar el sistema , curiosamente tiempo después leí allí mismo eso de que no se debe usar c para actualizar la distro. También me gusta el detalle de que te muestra la página web de algun programa que quieras instalar como un juego por ejemplo, si Akabei tiene esas cosas buenas de appset-Qt mas las correcciones necesarias que lo harian mejor que appset-Qt, pues sería genial y bueno gracias por la información de los repositorios de chakra me sirvio de mucho , no sabia la existencia de ccr , saludos.

    Me gusta

    1. Bueno, en realidad Akabei no es parecido a Appset, simplemente porque es una herramienta para la consola que se espera que sustituya y mejore (difícil papeleta, sin duda) a pacman. La idea de los desarrolladores de Chakra, si la he entendido bien, es aunar la potencia de pacman y aur (ccr en este caso) en un único gestor de paquetes de línea de comandos, que sería Akabei. Lo que sustituiría a Appset-qt sería Shaman 2, como aplicación de escritorio o "front-end" para Akabei. Espero habértelo aclarado, de cualquier modo tienes más información en la wiki de Chakra:http://chakra-linux.org/wiki/index.php/Akabei/eshttp://chakra-linux.org/wiki/index.php/Shaman/esUn saludo y gracias por tus comentarios

      Me gusta

  2. ah gracias , leeré los links que me dejaste mas tarde , la universidad no me deja en paz xd, por cierto hoy le he dado al terminal con pacman -Syu y bueno me aparecen unas actualizaciones le digo que sí y pues aparece el mensaje : Reemplazar appset-qt con desktop/apper será está última el nombre del nuevo gestor de paquetes, bueno estoy suponiendo quizá esté errado , cuando pueda como te dije me pondré a leer, caray eso me gusta en un equipo de desarrollo que le den a mejorar su software y buscar eso que no quiero decir perfeccion porque no existe pero al menos aspirar a algo mejor eso creo que es mas factible , estoy feliz te tener un chakra en mi PC xd , saludos.

    Me gusta

    1. Ya somos dos felices usuarios de Chakra ;)Parece ser que, como comentas, han preferido pasarse a Apper para manejar los paquetes. Appset-qt ya no está disponible ni siquiera en CCR. De hecho si haces un ccr -Ss appset, te arroja como único resultado… ¡Apper! Chakra es así de radical, para lo bueno y para lo malo. En este caso estoy de acuerdo con prescindir de appset, no solo por la que me lió en Arch, sino porque actualmente no es mantenido y es un potencial rompedor de sistemas.

      Me gusta

    2. me gustaba más Appset-qt xdxdxdxd, pero bueno que se le va a hacer, ha muerto Appset-qt era que le tome una captura antes de darle a a las actualizaciones para el recuerdo, pero se sacrifico para no ser mas el rompedor de sistemas, eso hubiese sido mas difici de solapar que un programa que instala software te mate el sistema , pero sabes me gustaba como era noooooooooooo se murio, bueno lo mataron xd.

      Me gusta

    1. Ah, el eterno dilema del distro-hopper. Sé bastante de eso. El sistema de paquetes de Sabayon, para estar basado en el de Gentoo es una maravilla. Pero la sencillez de pacman sigue siendo insuperable. ¿Tal vez hasta que salga akabei?

      Me gusta

  3. Me encanta tu blog. Soy algo nuevo en linux, la única distro que he usado intensivamente es Ubuntu y derivados.Ahora tengo Chakra como SO secundario. Me preguntaba si existe alguna "instrucción" para pacman la cual nos permita conocer las dependencias opcionales a un paquete. Por ejemplo VLC tiene dependencias opcionales como: libnotify y libbluray.Espero puedas responder mi interrogante, saludos.

    Me gusta

    1. Hola Fernando, gracias por tus comentarios. Realmente es un tema poco documentado en la wiki de Arch (y mira que esto es extraño). Por lo que he podido recabar existe la opción –optdep, si bien en el manual de pacman no se menciona. Por desgracia ahora mismo no dispongo de ninguna instalación de Chakra o Arch – esto también es raro – donde probar. Puedes intentar hacer pacman -Ss –optdep paquete y ver si así obtienes la información que buscas. Otra posibilidad sería pacman -Si paquete, pero no recuerdo si entre la información que aparece está la referida a dependencias opcionales, creo que sí. En cuanto tenga un ratillo instalo Chakra en mi disco de pruebas y lo miro. Un saludo.

      Me gusta

  4. Muchas gracias por la información. cada día se reafirma mi cariño a chakra project, me encanta kde y las aplicaciones QT. Anteriormente usaba Kubuntu donde aprendí muchísimo, como compilar para tener las ultimas versiones de la aplicaciones QT y solventar muchos errores y agilizar el rendimiento, ahora en chakra aprendo administrar cada detalle de mi S.O

    Me gusta

  5. Hola, hace tiempo vengo leyendo tu página y la verdad que está muy buena, soy un usuario novato en linux pero he aprendido bastante. He probado distros como Ubuntu (con gnome clasico, gnome shell, unity), kubuntu, xubuntu, opensuse, pearos, darwin os, LMDE cinammon, Linux Mint KDE, entre otras. Lamentablemente el entorno de Kde no me ha funcionado muy bien aunque me encanta. Ahora veo que esta distro es pura KDE y me dije "si no quiere funcionar con esta no funciona con ninguna" y ahora la tengo instalada y la verdad que comparada con las otras es mucho más fluida. Debo admitir que opensuse está casi al nivel a no ser por unos detalles molestos que me sucedieron. Tu página me es muy útil porque esta filosofía nueva sin entorno gráfico me costó mucho. Me costaría mucho más si no existiera la sombra del helicoptero la verdad hay cosas muy útiles aquí sobre kde y chakra. Muchas gracias seguí así

    Me gusta

    1. Hola Enrique perdón que te escriba por aquí pero me surgió un problemita y parece que es lo único que por ahora no puedo hacer en Chakra y es conectar a una red ad hoc. Leí la wiki de arch donde me decían que tenía que instalar un paquete (el dnsmasq) para que me autorice a hacerla, el problema es que la creo, se conecta, desde la otra máquina se conecta pero no entra a internet. Con los otros sitemas operativos no tuve problemas en crearla y me parece que hay algo que no me estoy dando cuenta, tienes idea de si me falta algún paquete o algo? Mil gracias

      Me gusta

    2. Es un tema en el que carezco de experiencia alguna, la verdad. Buscando en los foros de Chakra:http://chakra-project.org/bbs/search.php?search_id=1491815524Aparecen varios temas, en uno de ellos se recomienda no solo instalar el paquete que mencionas sino lanzar el servicio de systemd asociado a él (dnsmasq.service). Prueba a hacer:sudo systemctl enable dnsmasq.serviceSi no funciona abre un post en el foro oficial de Chakra, tal vez alguien con experiencia en el uso de conexiones ad-hoc pueda echarte una mano.

      Me gusta

Deja un comentario