Wie verfolgt Ubuntu das Flag "Systemneustart erforderlich" in motd?


77

Ich habe einige Ubuntu-Server (8.10, 9.10), die so eingestellt sind, dass sie automatisch Sicherheitsupdates installieren. In einigen Fällen ist für diese Updates ein Neustart des Systems erforderlich. Diese Zeichenfolge wird in motdfolgenden Abschnitten angezeigt :

*** System restart required ***

Um darüber informiert zu werden, plane ich, einen Nagios-Test zu schreiben, um zu überwachen, ob der Server neu gestartet werden muss. Also meine Frage:

Gibt es eine bessere Möglichkeit als das Parsen /etc/motd, um herauszufinden, ob ein Neustart erforderlich ist?

Antworten:


94

Überprüfen Sie das Vorhandensein von /var/run/reboot-required.


17
Hinweis: Wird für Debian-Systeme /var/run/reboot-requirederst erstellt, wenn das update-notifier-commonPaket installiert ist.
Peter V. Mørch

7
Beachten Sie, dass update-notifier-commondies in Debian Jessie entfernt wurde. unattended-upgradesEnthält jetzt ein einfaches Skript, /etc/kernel/postinst.d/unattended-upgradesdas touchdie Datei enthält. reboot-notifierist ein weiteres kleines Paket, das mit dem Format von kompatibel ist update-notifier-common.
ypid

Möglicherweise möchten Sie auch Ihre laufenden Prozesse überprüfen, um festzustellen, ob bereits ein Neustart eingeleitet wurde. Beispielsweise können Sie bei unbeaufsichtigten Upgrades einen Zeitpunkt für den Neustart angeben. Bis zu diesem Zeitpunkt zeigt die obige Methode weiterhin an, dass ein Neustart erforderlich ist, obwohl bereits ein Neustart eingeleitet wurde.
DylanYoung

37

Das Skript, das den für den Neustart erforderlichen Teil von motd generiert, lautet / usr / lib / update-notifier / update-motd-reboot-required und enthält Folgendes:

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

if [ -f /var/run/reboot-required ]; then
        cat /var/run/reboot-required
fi

Ihr Nagios-Check könnte prüfen, ob / var / run / reboot-required vorhanden ist.


2
+1 für die Anzeige, in welcher Datei sich diese befindet
Wayne

Dieses Shell-Skript generiert nichts. Es zeigt den Inhalt an, falls vorhanden
Scott

26

Zusätzlich listet die Datei '/var/run/reboot-required.pkgs' die Pakete auf, die den Neustart angefordert haben. Zum Beispiel:

$ cat /var/run/reboot-required.pkgs 
linux-image-2.6.32-28-generic
dbus
$

Auf Ubuntu Lucid (10.4).


Freaking danke oh mein Gott, ich habe das so sehr vermisst!
Lapshin Dmitry

8

Debian- und Ubuntu-Pakete können die Erstellung /var/run/reboot-required*in ihrer postinstDatei durch Ausführen des Hilfsskripts auslösen/usr/share/update-notifier/notify-reboot-required

Somit wird die "offizielle" Methode zum Verarbeiten von Neustarts vom Paketbetreuer verwaltet. Ich habe es zuvor in einem Skript getan, indem ich die gebootete Zeit mit mtimes in / boot verglichen habe.


4
#!/bin/bash
if [ ! -f /var/run/reboot-required ]; then
        # no reboot required (0=OK)
        echo "OK: no reboot required"
        exit 0
else
        # reboot required (1=WARN)
        echo "WARNING: `cat /var/run/reboot-required`"
        exit 1
fi
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.