Monitorer les mises à jour de sécurité Debian
Par Rodolphe Quiédeville le mercredi, octobre 31 2012, 12:02 - Monitoring - Lien permanent
Jusqu'à peu j'utilisais des scripts maison pour suivre les mises à jour de sécurité à faire sur les serveurs Debian que j'administre, scripts shell qui à grand coup de sed, grep, gawk sur les sorties de apt-get update / upgrade permet de connaître les mises à jour à faire. Une fois de plus Debian à des outils internes pour faire cela beaucoup mieux. Utilisant aussi Debian sur mon desktop je me suis penché sur la méthode mise en oeuvre qui permet à mon gestionnaire de bureau de signaler dans une popup les màj à faire après chaque action apt, je suis tombé sur le paquet update-notifier-common qui contient tout ce qu'il faut pour refactoriser mes sondes Nagios.
La commande apt-chek (qui est un script python) permet de savoir tout de go si il existe des mises à jour à faire :
rodo@arz: $ /usr/lib/update-notifier/apt-check 110;57
donne une sortie facilement scriptable qui indique ici qu'il y a 110 mises à jour disponibles dont 57 mises à jour de sécurité (tests effectués sur mon desktop, n'ayez craintes)
rodo@arz: $ /usr/lib/update-notifier/apt-check --human-readable 110 packages can be updated. 57 updates are security updates.
donne une sortie plus compatible avec le genre humain.
Enfin l'option -p elle va afficher la liste des noms de paquets à mettre à jour. Pour parfaire le script on souhaiterait avoir une option qui permette de n'afficher que les noms de paquets issus de security à mettre à jour, gageons que cela soit dans une future release.
Il ne reste plus qu'à utiliser cette commande dans une sonde nagios telle que celle décrite dans ce billet
Pour conclure il me reste à dire que apt-check se base sur la librairire python apt_pkg disponible dans python-apt que je vous invite à découvrir si vous souhaitez manipuler les commandes apt à partir de python.
MàJ : après ma réflexion sur une option supplémentaire j'ai envoyé un patch au mainteneur du paquet


Commentaires
'update-notifier' a besoin d'installer 154 autres packages supplémentaires sur un serveur dont plusieurs packages Gnome ! Un peu lourd à installer sur un serveur, non ?
Pour information, j'ai rédigé un plugin stand-alone qui fait la même chose en beaucoup plus light:
https://github.com/cyril-bouthors/n...
Comme indiqué dans le billet il faut installer seulement update-notifier-common et pas le paquet update-notifier.