web-dev-qa-db-fra.com

"Redémarrage du système requis" ... pourquoi? Comment puis-je savoir ce qui a déclenché cette notification afin d'afficher les détails?

De temps en temps, je vais SSH dans une boîte avec des mises à jour sans surveillance et je serai accueilli par "** Redémarrage du système requis ***" sans aucune information supplémentaire.

Mon fichier '/var/run/reboot-required.pkgs' contient:

linux-image-3.13.0-61-generic
linux-base
linux-base
linux-base

Cela ne me dérange pas de redémarrer, mais je n'aime pas redémarrer sans avoir des détails sur POURQUOI je devrais redémarrer en premier lieu. Ci-dessus, je vois deux paquets déclencher le message, mais il n'y a pas d'explication à part cela.

Existe-t-il un moyen d'obtenir supplémentaire des détails sur la raison du redémarrage pour qu'ils s'affichent également lors de la connexion à SSH?

Idéalement, j'aimerais insérer un fichier contenant quelque chose de lisible par l'homme, par exemple, "Le paquet xyz a été mis à jour le [date/heure]. Il devait modifier les fichiers a, b et c, mais ne pouvait pas, car le système bloquait/bloquer l'action. Lors du prochain redémarrage, les fichiers a, b et c seront remplacés. " Mais quelque chose de pas tout à fait lisible par l'homme est probablement bien aussi.

25
E. Diaz

Edit: Un autre, probablement pertinent ou utile article .

Comme vous l'avez déjà découvert, vous pouvez trouver les packages qui nécessitent un redémarrage dans /var/run/reboot-required.pkgs

Maintenant, il vous suffit de regarder dans le journal des modifications du paquet pour trouver les informations que vous recherchez.

  • Si vous êtes déjà sur la machine, vous pouvez trouver le journal des modifications dans /usr/share/doc/${package_name} (exemple: zless /usr/share/doc/linux-image-3.13.0-61-generic/changelog.Debian.gz).
  • Debian fournit des outils tels que apt-listchanges pour rendre cela plus pratique ( 1 , 2 , - ).
  • Une autre façon de faire serait d'utiliser packages.ubuntu.com .

    Dans ton cas:

    image showing where to find the link for the changelog on packages.ubuntu.com

24
LiveWireBT

Le fichier finalement appelé est /usr/lib/update-notifier/update-motd-reboot-required (il est appelé par /etc/update-motd.d/98-reboot-required).

Dans la déclaration conditionnelle if de l'un de ces fichiers, ajoutez simplement ceci:

    echo "Packages causing reboot:"
    cat /var/run/reboot-required.pkgs

Ainsi, par exemple, votre fichier /usr/lib/update-notifier/update-motd-reboot-required ressemblerait à ceci:

#!/bin/sh -e
#
# helper for update-motd

if [ -f /var/run/reboot-required ]; then
        cat /var/run/reboot-required
        echo "Packages causing reboot:"
        cat /var/run/reboot-required.pkgs
fi
4
Berto