aptitude, gestión de paquetes mejorada

23/06/2006

Aptitude ScreenShot
aptitude es un frontend en modo terminal para apt con una serie de características utiles, entre las que se encuentran: sintaxis similar a mutt para búsqueda de paquetes de forma flexible, persistencias similar a dselect para las acciones de usuario, capacidad de recuperar y mostrar el changelog Debian de la mayoría de los paquetes, y extrema flexibilidad y personalización.

La herramienta apt no lleva un registro (ni hace distinciones) de las aplicaciones que se instalan de manera explícita y las que se instalan de manera implícita (es decir, debido a las dependencias del paquete que realmente se desea instalar respecto de otros necesarios para su funcionamiento). Esta característica genera ciertos inconvenientes a la hora de desinstalar un paquete que posee dependencias, ya que en el momento de realizar la desinstalación lo más seguro es que solamente desinstalemos el paquete “principal” y nos queden en el sistema el resto de paquetes de los que dependía éste (incluso si no son necesarios para otros programas).

Un remedio que en principio puede servir es hacer uso de deborphan (o su fontend orphaner), una herramienta que nos permite encontrar los paquetes “huerfanos” que existen en nuestro sistema. Determina qué paquetes no tienen otros que dependan de ellos y muestra una lista de estos paquetes. Esta lista se la podríamos pasar posteriormente a apt-get remove y resolver de cierta menera el problema.

El inconveniente de deborphan es que su campo de acción es limitado, por lo que la “limpieza” puede no ser muy buena del todo.

En cambio aptitude sí recuerda las dependencias de un programa en particular, por lo que el proceso de eliminación del mismo se realiza correctamente.

Aparte de lo mencionado anteriormente, otra ventaja de aptitude es que permite utilizarlo mediante la línea de comandos (de forma muy similar al uso de comandos de apt) o mediante una interfaz en ncurses que, aunque puede ser confusa al principio, es mucho más flexible. Cuando se trabaja en modo GUI, podremos hacer varias operaciones al mismo tiempo.

Guía rápida de comandos

  • aptitude
    Arranca la interfaz grafica ncurses.
  • aptitude -h
    Mustra la ayuda de comandos disponibles.
  • aptitude install paquete
    Instala el paquete, y todas sus dependencias (por defecto, también las recomendaciones).
  • aptitude remove paquete
    Elimina el paquetel. Si al eliminar ese paquete, hay otros que ya no son necesarios, también serán eliminados.
  • aptitude purge paquete
    Lo mismo que la opción anterior, pero eliminando también los archivos de configuración.
  • aptitude update
    Actualiza la lista de paquetes disponibles, en base a lo que diga /etc/apt/sources.list
  • aptitude upgrade
    Actuliza el sistema de forma segura.
  • aptitude dist-upgrade
    Actualiza el sistema, eliminando y borrando paquetes que sean necesarios. A pesar de que es lo habitual, en ocasiones puede que queramos actualizar sólo algunos usando ‘upgrade’.

NOTA: Recuerda que para poder instalar/eliminar paquetes deberás tener permisos de root, así que deberás ejecutar aptitude usando el comando “sudo”.

Cómo manejar paquetes localmente

A veces tenemos paquetes .deb que nos gustaría instalar con aptitude para que las dependencias se resuelvan automáticamente.

Para hacer esto debemos crear un directorio y poner en el los .debs que deseamos indexar. Por ejemplo:

$ sudo mkdir /root/debs

Es posible modificar las opciones del archivo de control del paquete directamente para tu almacen utilizando un archivo de sobreescritura. En este archivo puedes querer definir algunas opciones para sobreescribir la que vienen con el paquete. Será algo así:

package priority section

donde package es el nombre del paquete, prioridad es low, medium o high y section es la seción a la que pertenece. El nombre del archivo no importa, se le pasará como argumente después a dpkg-scanpackages. Si no deseas un archivo de sobreescritura, utiliza /dev/null cuando llames a dpkg-scanpackages (comando que podrás encontrar en el paquete dpkg-dev).

Todavía en el directorio /root ejecuta como root (sudo bash):

# dpkg-scanpackages debs /dev/null | gzip > debs/Packages.gz

En la línea superior, file es el archivo de sobreescritura, el comando genera el archivo Packages.gz que contiene información varia acerca de los paquetes. Finalmente, para utilizar los paquetes añade la línea siguiente a /etc/apt/sources.list:

deb file:/root debs/

Algunos enlaces de interés

http://www.badopi.org/suy/aptitude
http://www.milmazz.com/archivos/2005/07/28/aptitude-%c2%bfaun-no-lo-usas/

2 Responses to “aptitude, gestión de paquetes mejorada”


  1. […] $ sudo aptitude install gstreamer0.10-ffmpeg $ sudo aptitude install gstreamer0.10-gl $ sudo aptitude install gstreamer0.10-pitfdll $ sudo aptitude install gstreamer0.10-plugins-bad $ sudo aptitude install gstreamer0.10-plugins-bad-multiverse $ sudo aptitude install gstreamer0.10-plugins-ugly $ sudo aptitude install gstreamer0.10-plugins-ugly-multiverse $ sudo aptitude install gxine $ sudo aptitude install libxine-main1 $ sudo aptitude install libxine-extracodecs $ wget -c http://www.debian-multimedia.org/pool/main/w/w32codecs/w32codecs_20060611-0.0_i386.deb $ sudo dpkg -i w32codecs_20060611-0.0_i386.deb (NOTA: Alternativamente podemos añadir el paquete a nuestro repositorio local siguiendo las instrucciones que aquí aparecen) […]


  2. […] aptitude, gestión de paquetes mejorada Como mantener limpio Ubuntu (I) con deborphan Como mantener limpio Ubuntu (II) con localepurge Posted by rubensa Filed in Ubuntu […]


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: