Actions
Demande #3615
ferméDétection automatique des services à redémarrer suite à un dist-upgrade
Début:
01/03/2019
Echéance:
% réalisé:
80%
Temps estimé:
Difficulté:
2 Facile
Description
Lorsqu'un paquet de lib est mis à jour, les services qui en dépendent ne sont pas nécessairement redémarrés par apt.
Demande :
1) installer needrestart sur toutes les machines (ajout dans les paquets April par défaut ?) ;
2) faire une sonde pour remonter si des services ont besoin d'être redémarrés ;
3) déployer la sonde sur toutes (?) les machines.
Sur #april-chapril le 01/01/2019 :
09:32 < cpm_screen> Les paquets suivants seront mis à jour : libssl1.0.2 php7.0 php7.0-cli php7.0-common php7.0-fpm php7.0-gd php7.0-intl php7.0-json php7.0-mbstring php7.0-mysql php7.0-opcache php7.0-readline php7.0-xml 09:32 < cpm_screen> ça semble n'être qu'un upgrade simple 09:42 < PoluX__> oui pas de soucis 09:42 < PoluX__> tu peux restarter apache2 pour vérifier que ça tourne après 09:44 < QGuLL> apache et nginx ? 09:52 < cpm_screen> hmmm, bah, c'est pas censé le faire tout seul ? 09:52 < QGuLL> si possible 09:52 < QGuLL> attend je regarde 09:54 < cpm_screen> j'ai fait l'upgrade sur la vm admin et le nginx a été démarré le 18 fév, donc a priori, là, pas redémarré 09:55 < cpm_screen> pareil pour apache sur la vm lamp 09:56 < cpm_screen> ok, je vais redémarré à la main les nginx et apache :D 09:58 < QGuLL> j'ai pas l'impression qu'il mette à jour la libssl utilisée 09:58 < QGuLL> nginx charge libssl1.1:amd64: /usr/lib/x86_64-linux-gnu/libssl.so.1.1 09:58 < QGuLL> après ptet qu'il la lit une fois et garde pas de filehandler ouvert dessus 10:00 < cpm_screen> vala, restarts fait 10:01 < cpm_screen> ou qu'il détecte un changement de fichier et recharge… 10:01 < QGuLL> possible 10:08 < PoluX__> on devrait installer needrestart et monitorer ça d'ailleurs 10:09 < QGuLL> debian pense à tout /o\ 10:10 < PoluX__> à défaut, un lsof | grep lib | grep '(deleted)$' en console donne des indices 10:10 < cpm_screen> hmmmm, mais c'est le boulot du gestionnaire de paquet ça, nan ? S'il met un paquet à jour et que celui-ci est utilisé par un service, il est censé redémarré le service tout seul, nan ? C'est fixé par les caractéristiques du paquets, nan ? 10:10 < PoluX__> cpm_screen: non 10:11 < PoluX__> cpm_screen: si tu upgrade libssl et que apache utilise libssl, le packageur de libssl est pas au courant 10:12 < PoluX__> et la dépendance peut dépendre de la config, donc pas évident de prévoir ça niveau packaging 10:13 < cpm_screen> apt-get (le gestionnaire de paquets) lui, il peut savoir, et du coup l'animateur du paquet libssl pourrait dire « rebooter tout ce qui m'utilise) 10:14 < PoluX__> cpm_screen: oui mais :)
Sur #april-admin le 01/01/2019 :
10:09 < olasd> QGuLL: vu la quantité de trucs à redémarrer ça va plus vite de reboot :p 10:17 < cpm_screen> olasd: huhu, hmmm, dis-moi, 1) dans le paquet d'upgrade, le packageur de libssl peut très bien dire à apt-get de redémarrer le service apache ? 2) les packageurs Debian le font quand c'est nécessaire, n'est-ce pas ? :D 10:18 < olasd> QGuLL: You think you're some kind of Jedi, waving your hand around like that? I'm a Toydarian. Mind tricks don't work on me. :P 10:18 < olasd> cpm_screen: uniquement quand le fait d'avoir fait la mise à jour va casser le paquet utilisateur (c'est le cas de la libc quand les modules nsswitch changent d'interface) 10:19 < olasd> pour une mise à jour de sécurité dans une bibliothèque, non, il faut redémarrer les utilisateurs de la lib à la main (ou utiliser needrestart ou équivalent) 10:19 < cpm_screen> olasd: haaaaaaa, oki, du coup vaut mieux se poser la question après un apt-get dist-upgrade. 10:20 < cpm_screen> Voilà, needrestart, merciiiiiiiiiiiii <3 10:20 < QGuLL> olasd: mais si lsof ne révèle pas d'utilisation des lib, elles peuvent être copiées par le démon et le filehandler fermé, donc on voit pas si elles sont utilisées ? 10:22 < olasd> hum, aucune idée; le plus simple serait de regarder comment needrestart est implémenté ;p 10:22 < QGuLL> ou d'installer needrestart tout simplement 10:23 < olasd> (needrestart a aussi un hook apt donc il peut demander quels services redémarrer une fois qu'il a fait son job
Actions