Una forma sencilla de comprobar la integridad de los paquetes que hemos instalado en nuestro sistema Debian o derivada es utilizar debsums.
Todos los ficheros que se instalan con un paquete .deb
en Debian tienen un hash MD5 único. Dichos checksums se guardan en /var/lib/dpkg/info/*.md5sums
. Por ejemplo, vamos a ver el contenido de /var/lib/dpkg/info/vim.md5sums
:
Podríamos decir que los checksums del directorio /var/lib/dpkg/info
sirven como base de datos contra la que podemos comprobar la integridad de los ficheros de nuestro sistema, de la misma manera que comprobamos el hash de ficheros descargados como explicaba en este artículo.
Instalamos la aplicación con el apt-get
de rigor:
apt-get install debsums
Su utilización es bastante sencilla. Se puede realizar una comprobación de checksums en general de todos los paquetes instalados con:
debsums
Para mayor comidad redirigimos a un fichero que posteriormente podamos inspeccionar con tranquilidad:
debsums > checksums.txt
Los posibles resultados son:
- OK: el hash de fichero coincide con el registro en
/var/lib/dpkg/info
- FAILED: el hash del fichero no coincide con su hash m5 registrado en el directorio
/var/lib/dpkg/info
- REPLACED: si el fichero ha sido reemplazado por otro de un paquete distinto.
Si sólo queremos que nos muestre los paquetes que tienen checksum que no coincide con lo especificado en /var/lib/dpkg/info/ utilizaremos la opción -c:
debsums -c
Si no produce ninguna salida… ¡Todo correcto entonces! Si al contrario vemos que algún fichero no se corresponde con su hash md5, tendremos que investigar por qué. Tener en cuenta no obstante que podemos obtener falsos positivos en caso de aplicaciones que hayamos compilado nosotros mismos.
No todos los paquetes .deb
vienen con los checksums de los ficheros contenidos, por lo que podemos ver qué ficheros en nuestro sistema carecen de checksum con:
debsums -l
Como apunte final también es interesante saber que con la opción -g podemos generar los checksums correspondientes para paquetes .deb
que no los traigan de serie.
Como siempre, estas opciones y más las podéis ver con más detalle en la página de manual con man debsums.