Gdebi y la gestión de paquetes

19 junio, 2010

En la última entrada os comentaba la forma de instalar paquetes en local (guardados en vuestro ordenador) con dpkg. Pues bien, Gdebi es otra herramienta para instalar paquetes en local, que además ofrece resolución de dependencias, y por tanto mucho mejor. Para usarlo:

# gdebi paquete_guay.deb

Con todo esto de la resolución de paquetes puede que nos hayamos hecho un lío (yo sí :P). Vamos a tratar de aclararlo un poco:

Para gestionar paquetes en sistemas basados en Debian (Debian, Ubuntu, Mint, …) tenemos dpkg, que es la base. Luego tenemos gdebi, que permite instalar paquetes en local y obtener las dependencias (paquetes auxiliares necesarios para el funcionamiento del paquete a instalar) de la red. Después tenemos apt, que permite instalar paquetes y sus dependencias directamente desde la red. Y por último tenemos aptitude, que tiene las mismas funciones que apt, pero que recuerda mucho mejor las relaciones entre dependencias a la hora de desinstalar. ¡Vaya lío!

Pues hay más. De los citados anteriormente dpkg y gdebi son solo para paquetes en local, y apt y aptitude solo para paquetes en remoto. Gdebi es también un instalador gráfico, que es el que salta cuando hacemos doble-clic a un paquete .deb. Aptitude tiene una interfaz gráfica de consola basada en menús. Y apt tiene varias interfaces gráficas, como Synaptic o Ubuntu Software Center.

Con todo esto, como cada herramienta de gestión de paquetes de las citadas anteriormente, guarda una lista distinta de paquetes instalados y dependencias, no me extraña nada que la gestión de paquetes en sistemas Debian sea un caos.

¿No os parece mucho más sencillo y coherente yum? Yum es una herramienta de gestión de paquetes para sistemas de paquetes .rpm de Red Hat, como Fedora. Yum permite instalar paquetes tanto en local como desde la red, y resolviendo dependencias. Además tiene un aspecto mucho más organizado y claro que apt o aptitude. Al menos para mí.

Yum permite además añadidos (plug-ins), que mejoran sus prestaciones. El añadido Yum-presto permite usar Delta RPMs. Esto es, a la hora de actualizar un paquete instalado, en lugar de bajar un paquete entero con su nueva versión entera, baja un paquete .drpm que contiene sólo los archivos del paquete que cambian entre la versión instalada y la actualización. Esto permite ahorrar mucho en ancho de banda. Curiosamente, a YUM lo encuentro más lento que a aptitude.

Además, tanto Fedora como Arch Linux y Slackware usan ya el formato de compresión XZ, que da tasas de compresión más elevadas que el LZMA usado en Debian.

Creo que Debian debe ponerse las pilas y mejorar en cuanto a su gestión de paquetes.

Y ya puestos a hablar de gestión de paquetes, voy a comentar los otros sistemas que conozco.

El primero es el sistema de instalación con Asistente. Tras hacer doble clic en el archivo salen unos menus que te guían en la instalación. Es un sistema usado por Windows y PC-BSD.

Otro método distinto es el usado por FreeBSD o Gentoo, llamado Ports. Están basados en código fuente. Tenemos unas carpetas sincronizadas con el servidor que contienen el código fuente de cada aplicación. Si queremos instalar una aplicación vamos a su carpeta y la compilamos.

El último método que conozco es el de Mac OS X. Las aplicaciones se bajan individualmente de Internet, como en Windows, pero al hacer doble-clic no salta un asistente. En cambio, se monta una unidad virtual que contiene un archivo, un solo icono, que es el programa en sí. Si lo arrastras a la carpeta Aplicaciones, este se copia allí quedando instalado. Si lo borras queda desinstalado. ¿No os parece sencillo?

¿Vosotros cuál preferís?