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, no contemplo algunas opciones más avanzadas relativas a la gestión de paquetes, resolución de dependencias, etc.
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:
- Purgar paquetes eliminados anteriormente
- Control de cambios en paquetes
- 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
Con la herramienta dpkg hay una opción muy interesante que te permite visualizar paquetes que se han marcado por eliminar, pero que aún mantienen ficheros de configuración. Ahí va:
$ 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
También puedes valerte de algunas de las opciones de Apt para hacer una eliminación más efectiva de los paquetes. Aquí va el ejemplo:
$ 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.
Una vez descargados todos los paquetes, se te presentará un listado con los cambios más importantes en cada paquete. Ten en cuenta que el proceso de actualización estará pausado en estos momentos. Para quitar el listado y continuar con el proceso de instalación deberás marca la tecla q.
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 útiles.
$ 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 Termina Aquí
Y esto acaba aquí. Es posible que en un futuro, si descubro nuevas utilidades o comandos que te puedan ser útiles y se enmarquen en la temática de este post, veas alguna actualización al respecto.
Por ahora espero que te haya sido de utilidad, y si tienes cualquier duda o sugerencia, como siempre te espero en los comments debajo. Saludos y hasta la próxima!