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?

Anuncios

Comandos útiles

25 marzo, 2010

Ahí van:

$ sudo aptitude autoclean

  • Para eliminar kernels antiguos:

$ sudo dpkg -l | grep linux-image

$ sudo aptitude –purge-unused purge linux-image-x.x.xx

  • Para ver el espacio de disco usado:

$ df -h

  • Para ver la memoria usada:

$ free -mt

  • Para ver la fecha y la hora del sistema:

$ date

  • Para ver el calendario a un mes, 3 meses ó un año:

$ cal     ó $ cal -3    ó $ cal -y

  • Para encontrar una aplicación instalada mediante paquete .deb descargado:

$ whereis app –>     p.ej: $ whereis zattoo

  • Para comprobar la suma de verificación (checksum) de un archivo descargado. El algoritmo más común es el MD5, pero también hay otros  con su correspondiente comando instalados por defecto en Ubuntu:

$ md5sum archivo     –> p.ej: $ md5sum debian_squeeze_x86.iso

  • Ver información del sistema :

$ uname -r (muestra versión del kernel); $ uname -a (muestra todo)

  • Ejecutar el comando anterior como su, para cuando te olvidaste de escribirlo 😛 :

$ sudo !!

  • Matar una aplicación que se ha colgado:

$ killall nombre_aplicación

$ locate nombre_archivo

$ find nombre_archivo

  • Sin ser comandos, son de grandísima utilidad:

Tecla TAB: la tecla tabulador permite completar comandos a medio escribir, y si lo pulsamos dos veces seguidas nos muestra una lista de comandos que empiezan igual que lo que hayamos escrito. Por ejemplo, si escribimos apti+TAB nos lo completará a aptitude. Muy, muy cómodo.

Pegar en la consola: también es muy cómodo copiar/pegar comandos en la consola, lo cual se puede conseguir con CTRL+MAYÚS+C / CTRL+MAYÚS+V.

Ver por bloques: cuando el sistema está en sin GUI, no tenemos la opción de desplazar el texto hacia arriba, por lo que si queremos ver cosas que ocupan más de una pantalla debemos añadir al final del comando | more para que muestre una pantalla, y avance conforme le demos a ENTER.