1 votes

Redémarrage automatique après le Livepatch Ubuntu

Lorsque Ubuntu Livepatch a patché le noyau mais recommande de redémarrer pour démarrer avec la nouvelle version, un message apparaît dans le motd comme suit :

*** Livepatch has fixed kernel vulnerabilities. System restart recommended on the closest maintenance window

Il ne touche pas /run/reboot-required , même si apt upgrade a installé le nouveau noyau.

J'ai la chance d'avoir une fenêtre de maintenance hebdomadaire, et j'aimerais que le système redémarre automatiquement lorsque Livepatch le recommande. En d'autres termes, je veux la fonctionnalité de correctif immédiat de Livepatch, mais je n'ai pas besoin d'un temps de disponibilité marathon.

Quelle est la meilleure façon d'y parvenir ? Selon moi, il y a quatre possibilités :

  1. Existe-t-il un moyen de configurer Livepatch pour qu'il soit tactile ? /run/reboot-required ?
  2. Existe-t-il un moyen de configurer apt pour qu'il soit tactile ? /run/reboot-required après une mise à jour du noyau, même si Livepatch est actif ?
  3. Existe-t-il un moyen de configurer les mises à jour non surveillées pour qu'elles redémarrent lorsque Livepatch le recommande, même lorsque /run/reboot-required n'est pas présent ?
  4. Existe-t-il un moyen de vérifier si Livepatch recommande un redémarrage, de manière programmatique ? canonical-livepatch kernel-upgrade-required semble produire des codes de retour spécifiques, mais ceux-ci ne semblent pas être documentés officiellement.

0voto

Le problème décrit dans la question est un effet secondaire (éventuellement imprévu) d'une modification apportée par Ubuntu au paquet unattended-upgrades.

Jusqu'à ce que ce problème soit résolu par Ubuntu, la meilleure solution que j'ai trouvée est d'utiliser ce script des versions actuelles de Debian, qui rétablira le comportement habituel de redémarrage après les mises à jour du noyau sans prendre en compte le Livepatch :

#!/bin/sh

case "$DPKG_MAINTSCRIPT_PACKAGE::$DPKG_MAINTSCRIPT_NAME" in
   linux-image-extra*::postrm)
      exit 0;;
esac

if [ -d /var/run ]; then
    touch /var/run/reboot-required
    if ! grep -q "^$DPKG_MAINTSCRIPT_PACKAGE$" /var/run/reboot-required.pkgs 2> /dev/null ; then
        echo "$DPKG_MAINTSCRIPT_PACKAGE" >> /var/run/reboot-required.pkgs
    fi
fi

Détails :

  • Ajoutez-le en tant que nouveau fichier dans le /etc/kernel/postinst.d (par exemple /etc/kernel/postinst.d/x-user-unattended-upgrades ).
  • Dans certaines circonstances, il peut dupliquer des fonctionnalités trouvées dans d'autres scripts scripts de post-installation du noyau, mais il le fera de manière inoffensive.
  • Le système doit avoir le paquet unattended-upgrades installé pour que le script soit utile.
  • J'ai confirmé qu'elle s'applique à toutes les versions récentes d'Ubuntu au moment où j'écris ces lignes. Si vous consultez cette réponse dans un futur lointain, vérifiez qu'elle est toujours applicable et pertinente.

Un bogue a été enregistré concernant ce problème dans Launchpad.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X