Vraag Hoe houdt Ubuntu de vlag "Systeem opnieuw opstarten vereist" bij in motd?


Ik heb een paar Ubuntu-servers (8.10, 9.10) die zijn ingesteld om automatisch beveiligingsupdates te installeren. Soms is voor deze updates een herstart van het systeem vereist en deze tekenreeks wordt weergegeven in motd:

*** System restart required ***

Om een ​​bericht hierover te ontvangen, ben ik van plan om een ​​Nagios-test te schrijven om te controleren of de server opnieuw moet worden opgestart. Dus mijn vraag:

Is er een betere manier dan parseren /etc/motd om te weten te komen als een reboot nodig is?


74
2017-12-10 09:33


oorsprong




antwoorden:


Controleer op de aanwezigheid van /var/run/reboot-required.


92
2017-12-10 09:59



Precies wat ik zocht, bedankt! - Anders Lindahl
Opmerking: voor debian-systemen, /var/run/reboot-required wordt niet gemaakt tenzij de update-notifier-common pakket is geïnstalleerd. - Peter V. Mørch
Let daar op update-notifier-common is verwijderd in Debian Jessie. unattended-upgrades bevat nu een eenvoudig script /etc/kernel/postinst.d/unattended-upgrades welke touches het bestand. reboot-notifier is een ander klein pakket dat compatibel is met het formaat van update-notifier-common. - ypid
U kunt ook uw lopende processen controleren om te zien of er al een herstart is gestart. Onbewaakte upgrades hebben bijvoorbeeld de mogelijkheid om een ​​tijd voor het opnieuw opstarten op te geven; tot deze tijd blijft de bovenstaande methode aangeven dat opnieuw opstarten vereist is, ook al is er al een gestart. - DylanYoung


Het script dat het reboot vereiste deel van motd genereert is / usr / lib / update-notifier / update-motd-reboot-required en bevat:

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

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

Uw nagios-controle kan controleren of er / var / run / reboot-vereist is.


37
2017-12-10 10:08



+1 om te laten zien in welk bestand dit zich bevindt - Wayne
dat shell-script genereert niets. Het geeft de inhoud weer als deze bestaat - Scott


Bovendien vermeldt het bestand '/var/run/reboot-required.pkgs' de pakketten die om het opnieuw opstarten hebben gevraagd. Bijvoorbeeld:

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

Op Ubuntu Lucid (10.4).


25
2018-01-19 04:44



Freaking bedankt oh mijn god dat heb ik zo gemist! - Lapshin Dmitry


Debian- en Ubuntu-pakketten kunnen het maken van /var/run/reboot-required* in hun postinst bestand door het helperscript uit te voeren /usr/share/update-notifier/notify-reboot-required

De 'officiële' manier om reboots te verwerken, wordt dus afgehandeld door de pakketbeheerder. Ik heb het eerder in een script gedaan door de tijd die is opgestart tegen mtimes in / boot te vergelijken.


7
2018-02-22 22:49





#!/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

4
2018-05-11 12:02