Instalación y gestión de paquetes en Chakra Linux

Josemaría | 8 de septiembre de 2012 | 14 comentarios

chakra linux Hace ya meses que uso Chakra Linux en mis escritorios y me parece una de las mejores distribuciones Linux que he probado jamás ¡Y os aseguro que he probado muchas! Es limpia y muy sobria, deriva de la potente Archlinux pero introduce un instalador mucho más completo y sencillo para facilitar la puesta en marcha a los usuarios perezosos o poco experimentados. Y lo más importante para mi: está centrada en ofrecer un escritorio KDE bien depurado y libre de dependencias de GTK. Ahora bien, tiene un inconveniente que me impide recomendarla “universalmente” a cualquier tipo de usuario: la gestión de paquetes resulta bastante complicada e, incluso, podríamos decir que en algunos casos engorrosa. Aquí va mi granito de arena para el que se encuentre perdido en este lío.

El motivo de este pequeño caos es doble: por un lado Chakra trabaja en su propio sistema de gestión de paquetes que se llamará Akabei para reemplazar a pacman (y Shaman para reemplazar a Apper) y mientras lo terminan trabajan con lo que pueden. Por otro, la separación de toda la paquetería dependiente de GTK del core de la distribución obliga a realizar ciertas filigranas. Pero el resultado es que quién llega por primera vez a la distribución y no sabe de que va la cosa se encontrará con un revoltijo de herramientas desde las que instalar y desinstalar software y, lo que es peor, que no siempre se ve lo mismo desde todas ellas. En el entorno gráfico tenemos dos herramientas: Apper, una de las herramientas de gestión de software más populares del entorno KDE, y Bundle Manager. Desde la línea de comandos tenemos pacman y ccr. Vamos a tratar de aclarar un poco de que va cada una de ellas y que uso darles.

En los repositorios base de la distribución no nos encontraremos jamás con ningún paquete que precise de las librerías GTK. Este es el software que podemos instalar usando pacman desde la línea de comandos o Apper desde el entorno gráfico. El problema es que, hoy por hoy, tratar de trabajar con una distribución Linux que no use las GTK es casi del todo imposible porque nos impediría usar GIMP, Firefox, Thunderbird, Wireshark… Así que Chakra incorpora para ello dos soluciones no excluyentes. Las aplicaciones GTK más populares votadas por los usuarios se introducen en paquetes especiales llamados “bundles” que se “instalan” sin privilegios de root en el sistema de archivos del propio usuario y sin introducir ninguna librería adicional en el sistema. Estos “bundles” se instalan cómodamente desde el Bundle Manager. Por otro lado, cualquier usuario puede dejar a disposición de la comunidad cualquier programa que no se encuentre ni en los repositorios oficiales ni en entre los “bundles” en los llamados CCR (Chakra Community Repositories). El sistema, en este caso, consiste en construir un script llamado PKGBUILD con toda la información necesaria para obtener los fuentes y dependencias del programa y compilarlo en local. En este caso si el programa introduce dependencias de GTK, estas si “contaminarán” nuestro sistema. Los programas que la comunidad deja en los CCR se instalan mediante el comando del mismo nombre.

El gestor de paquetes pacman es muy similar a tantos otros de otras distribuciones Linux. Tenemos un archivo de configuración (/etc/pacman.conf) donde, entre otras cosas, especificamos los repositorios que usaremos y una serie de opciones para buscar paquetes, intalarlos, desinstalarlos, actualizar el sistema, etc. Veamos algunas de las más comunes:

pacman -Sy sincroniza la base de datos de paquetes
pacman -Syy sincroniza forzando a descargar de nuevo la base de datos de paquetes aunque considere que están actualizadas.
pacman -Syu sincroniza las bases de datos de paquetes y actualiza todos aquellos para los que existan nuevas versiones
pacman -Qs cadena_texto busca entre los paquetes aquellos que coincidan con la cadena especificada
pacman -S paquete_del_repositorio instala, reinstala o actualiza el paquete indicado si existe en los repositorios de pacman
pacman -U ruta_a_paquete_local instala el paquete que se encuentra en la ruta indicada y no en un repositorio remoto. Los paquetes de pacman son archivos con extensión .tar.xz o tar.gz
pacman -R paquete_instalado elimina el paquete indicado si no rompe con ello ninguna dependencia
pacman -Rc paquete_instalado elimina el paquete indicado y todos los que dependan de él

Todos los paquetes instalados con pacman quedan dentro del alcance de las notificaciones de actualización que recibiremos en nuestro escritorio a través de Apper, herramienta que podemos usar para algunas de estas opciones (buscar, instalar, actualizar, eliminar, etc.) de forma gráfica aunque, como casi siempre ocurre, de forma más básica y con menos flexibilidad y potencia.

bundle manager en chakra linux Bundle Manager es una aplicación con un interfaz muy sencillo que podéis ver aquí a la izquierda. En la parte superior se encuentran las aplicaciones instaladas y en la inferior la que tenemos disponibles. Las instaladas disponen de dos botones a su derecha (eliminar y ejecutar) y eventualmente, cuando se requiere, un tercero (actualizar). Las no instaladas tienen un sólo botón (instalar). Las aplicaciones instaladas a través de Bundle Manager también aparecerán en el menún de KDE correspondiente y podemos poner atajos a las mismas en el panel, escritorio, etc. La instalación se hace siempre en un directorio llamado .cinstall dentro del home del usuario y sin necesidad de privilegios de root. Lo que ocurre realmente es que el bundle manager descarga allí los paquetes (con extensión .cb) y un launcher que lo que hace es llamar a la aplicación cinstall que los desempaqueta y ejecuta de forma instantanea cada vez que los necesitamos. Si lo prefieres, puedes descargar directamente los “bundle” desde aquí y ejecutarlos manualmente con cinstall y la opcion -b (por ejemplo, cinstall -b /directorio/filezilla-3.5.3-1-x86_64.cb)

Este sistema cumple con lo que se pretende (no contaminar el sistema base con librerías GTK) pero no es perfecto, la verdad. Las actualizaciones no se integran con Apper (se supone que si lo harán con Akabei) y, por tanto, hay que entrar en el bundle manager para ver si hay alguna disponible. Además, puesto que el nombre del launcher incluye también la versión del paquete cada vez que actualizamos una de ellas que, por ejemplo, está configurada como aplicación predeterminada en el sistema o dentro de las preferencias de otra aplicación, hay que hacer estos cambios manualmente o trabajarse algún script intermedio que lo haga por ti. Hay programas que apenas reciben actualizaciones, pero otros como Firefox o Thunderbird…

Por último disponemos de los CCR, repositorios donde cualquier usuario puede dejar sripts de compilación de cualquier programa que crea interesante, tenga o no tenga dependencias GTK y que, por lo general, no están incluidos dentro del core de la distribución.

Las opciones más comunes de esta herramienta son:

ccr -S nombre_paquete, instala el paquete indicado.
ccr -Syu sincroniza las ccr y los repositorios del core de la distribución y actualiza todos los paquetes
ccr -Ss nombre_paquete busca ese paquete en los repositorios de las CCR y de los repositorios del core de la aplicación

La petición de actualización de los paquetes que provienen de las ccr con el argumento -Syu realiza también una actualización de los repositorios del core con lo que es la opción más cómoda para mantener al día todo lo que tenemos instalado en el sistema (salvo lo que hemos instalado a través del bundle manager). Igual ocurre con las opciones de búsqueda e instalación que realizan su trabaja en ambos grupos de respositorios:
buscando paquetes con ccr

Además, así como pacman necesita ser ejecutado como root (como casi todos los gestores de paquetes), ccr no puede ejecutarse como root y será el propio gestor quién nos pedirá la contraseña de root si la operación que va a realizar lo requiere.

La instalación de un paquete con ccr es, realmente una variante de la compilación de toda la vida con el ./configure, make y make install. De hecho, en uno de los pasos se nos da siempre la oportunidad de editar manualmente el script de configuración por si queremos realizar algún cambio en las rutas de descarga de los paquetes o similar
instalando paquetes con ccr

Tenemos otra opción más “manual” para hacer esto mismo. Todos los paquetes que los usuarios dejan en los CCR pueden buscarse y consultarse desde aquí y para cada uno de ellos tenemos disponibles un archivo llamado PKGBUILD que es el script de instalación. Si nos descargamos este archivo y ejecutamos makepkg en el mismo directorio donde lo dejemos nos creará el paquete (un archivo con extensión tar.gz) que, posteriormente, podremos instalar con pacman -U nombre_paquete.tar.gz

Los paquetes instalados a través de ccr se integran en la base de datos del sistema de forma que aparecerán en una búsqueda o podrán desinstalarse usando pacman o Apper, pero no se actualizan a través de estos. Por otro lado, ccr no dispone de ningún argumento para desinstalar paquetes, así que la desinstalación de algo instalado con ccr hay que realizarla siempre con pacman o Apper

Compártelo:
    emailPDFPrintBitacoras.comIdenti.caTwitterdel.icio.usDiigoFacebookMeneameBarraPuntoNetvibes

14 comentarios

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>