Gestión Avanzada de Paquetes y Dependencias en Ubuntu

Hace algún tiempo, publiqué un post en el que explicaba como instalar aplicaciones en Ubuntu y otras distribuciones basadas en Debian, utilizando Apt y Aptitude. En la citada guía, si bien ahondo bastante en los diferentes comandos que puedes utilizar para actualizar, instalar o desinstalar paquetes, hay opciones más avanzadas relativas a la gestión de paquetes, resolución de dependencias, etc., que no están contempladas.

Siendo esto así, he pensado que te podría ser útil contar con una segunda guía, algo más avanzada, que sirva de continuación de esta primera y en la que pueda ahondar en todos estos aspectos que no he tratado en la primera. De momento, te dejo con una primera versión, pero tengo la intención de ampliar el post con más información en los próximos días. 

En este post verás:

  1. Purgar paquetes eliminados anteriormente
  2. Control de cambios en paquetes
  3. Comprobar la integridad de los paquetes

Purgar Paquetes Eliminados Anteriormente

En ciertas situaciones, puede darse el caso que hayan paquetes sin purgar en el sistema. Estos no son más que paquetes que, si bien ya no están instalados en el sistema, aun quedan restos de ellos en el sistema, en forma de, por ejemplo, ficheros de configuración. En esta situación, siempre es bueno hacer limpieza y ahorrar espacio. Además, como curiosidad, la propia herramienta de auditoria Lynis te alerta de ello cuando se da el caso.

De hecho, si tienes la carpeta Boot instalada en una partición aparte, es muy probable que, tras sucesivas actualizaciones del kernel, te encuentres con un problema de falta de espacio debido a la presencia de paquetes relativos a kernels antiguos que ya hayas desinstalado. Este caso concreto lo explico más en detalle en este post, pero por ahora vayamos al caso general.

#dpkg –get-selections | grep deinstall

$ sudo dpkg --get-selections | grep deinstall

Este comando te mostrara una serie de paquetes que dpkg tiene marcados como deinstall, es decir que han sido seleccionados en algún momento para ser eliminados, pero sin haber eliminado los ficheros de configuración correspondientes. Esta es una comprobación que se puede hacer de vez en cuando para mantener limpio el sistema.

#apt purge paquete

$ sudo apt purge paquete1 paquete2

Una vez tienes listados los paquetes, los puedes eliminar fácilmente con un apt purge. Este ultimo comando es el que se utiliza a menudo, en sustitución de apt remove, cuando indicamos que queremos desinstalar un paquete, junto con sus dependencias y los ficheros de configuración asociados.

Control de Cambios en Paquetes

Cada paquete, en el momento de su instalación, instala un archivo en su directorio de documentación informando de todos los cambios que ha recibido respecto a la versión anterior. Este fichero se puede consultar de forma manual, pero puede resultar mucho más cómodo ver la información, por ejemplo, en el mismo momento que nos disponemos a actualizar un paquete o grupo de paquetes.

apt-listchanges

Existe un paquete llamado apt-listchanges, que no es más que una característica de apt que, almenos en Ubuntu no viene instalada por defecto, y que te puede ser de utilidad a la hora de tener un mayor conocimiento de los cambios que han habido en un determinado paquete respecto a la versión anterior. Puedes instalarlo con un apt install seguido del nombre del paquete.

$ sudo apt install apt-listchanges

La herramienta se integra con Apt y no requiere ninguna acción por tu parte para funcionar. Simplemente actúa en el momento de actualizar paquetes, informándote de los cambios que ha recibido un paquete respecto a la versión anterior, en el momento de su instalación.

Comprobar de la Integridad de los Paquetes

debsums

Existe una herramienta para distribuciones basadas en Debian, denominada Debsums, que justamente se encarga de hacer una comprobación de la suma md5sum de todos los paquetes basados en Debian instalados en tu sistema. Por defecto no suele venir instalada, pero te puedes hacer con ella fácilmente.

$ sudo apt install debsums

Una vez instalada, su uso es sumamente simple. Basta con teclear debsums, seguido de uno de los parámetros que te comento a más abajo. El resultado suele ser un listado con todos los paquetes analizados, junto con uno de los siguientes estados:

  • OK:  La suma md5sum del paquete es correcta.
  • FAILED: La suma md5sum del paquete no es correcta.
  • REPLACED: El archivo ha sido sustituido por un archivo de otro paquete.

A continuación tienes algunas de las opciones que tienes a la hora de utilizar debsums. Ten en cuenta que hay muchos parámetros que puedes utilizar, pero me limitaré a mostrarte los que creo que pueden resultarte más utiles.

$ sudo debsums -a

Esto hará un chequeo completo de todos los paquetes, incluyendo los ficheros de configuración. Ten en cuenta que, en este caso, te irán apareciendo todos los paquetes por pantalla, por lo que te será algo complicado filtrar los resultados a simple vista.

$ sudo debsums -s

Esto probablemente te será de más utilidad, puesto que durante el análisis, solo reportará por pantalla los errores, es decir, aquellos paquetes marcados como FAILED.

ESTO CONTINUA EN BREVE…

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