Après avoir vu comment se débarrasser des paquets des éditeurs tiers, nous allons un peu plus loin aujourd’hui en nous intéressant à l’évolution des paquets installés. Plus précisément, ce billet explique comment vérifier que les fichiers composant les paquets sont toujours identiques à ce qu’ils étaient lors de l’installation.
En effet si, en bon bricoleur, vous avez modifié manuellement certains fichiers afin de procéder à quelques tests rapides, ou si vous installez les nouvelles versions de paquets à partir des sources, il est possible que vous ayez remplacé certains fichiers provenant du paquet originel. Ne serait-il pas intéressant de détecter ces modifications (et d’y remédier !) ? debsums est l’outil parfait pour cela.
Utiliser debsums pour identifier les fichiers modifiés
J’utilise fréquemment debsums lorsque je prends en charge la maintenance d’un serveur Debian, afin de dresser la liste des fichiers modifiés par le précédent administrateur.
Lancé sans argument, debsums est très verbeux : il listera chaque fichier installé (à l’exception des fichiers de configuration) en affichant son état en regard : « OK » s’il n’a pas été modifié, et « FAILED » dans le cas contraire.
$ sudo debsums /usr/bin/a2ps OK [...]
L’option --all
permet d’inclure les fichiers de configuration également. L’option --config
permet, au contraire, de ne prendre en compte que les fichiers de configuration.
L’option --changed
, enfin, permet de demander à debsums une liste restreinte aux seuls fichiers modifiés. La commande suivante va donc permettre de ne lister que les fichiers ayant été modifiés sur le système, et qui ne sont pas des fichiers de configuration :
$ sudo debsums --changed /usr/lib/perl5/AptPkg/Config.pm /usr/lib/perl5/AptPkg.pm [...]
Remonter aux paquets concernés, et les réinstaller
Parmi les fichiers modifiés, debsums a trouvé /usr/lib/perl5/AptPkg.pm
. C’est exact, je me souviens avoir manuellement installé une version modifiée de ce module Perl.
J’en ai déduit le paquet concerné grâce à la commande dpkg --search /usr/lib/perl5/AptPkg.pm
: il s’agit de libapt-pkg-perl.
Tout ce qu’il me reste à faire alors est de réinstaller le paquet pour ré-écraser les fichiers modifiés avec les originaux :
$ sudo aptitude reinstall libapt-pkg-perl [...] # Ou avec apt-get $ sudo apt-get --reinstall install libapt-pkg-perl [...]
Il ne reste plus qu’à recommencer le processus jusqu’à ce que debsums ne remonte plus aucun fichier modifié.
Ceci est une traduction de mon article Debian Cleanup Tip #4: find broken packages and reinstall them contribuée par Weierstrass01. Vous voulez d’autres tutoriels comme celui-ci ? Cliquez ici pour vous abonner à ma newsletter et recevoir les nouveaux articles par email.