In einem Debian-basierten Skript: Wie kann ermittelt werden, ob sich der Kernel geändert hat und neu gestartet werden muss?

In einem Debian-basierten Skript: Wie kann ermittelt werden, ob sich der Kernel geändert hat und neu gestartet werden muss?

Wie können wir (einfacher) feststellen, ob ein Kernel-Change-Reboot in Debian erforderlich ist, außerDies tunin einem Skript (was etwas umständlich ist)?

Ubuntu hat/var/run/reboot-requiredund unserer Erfahrung nach funktioniert es gut. Bisher funktioniert es jedoch bei Debian (zumindest in Buster, 10.6) nicht. Einige Pakete haben dies möglicherweise in der Vergangenheit getan (vor Debian Jessie) und wurden durch Dinge ersetzt, die es heute versuchen/behaupten, aber wir haben nichts funktionieren sehen (in 10.6). Einzelheiten weiter unten.

Dinge, die wir (in Debian 10.6) ohne Erfolg versucht haben:

  1. checkrestart(kein einfacher binärer Statusbericht für den Kernel-Boot)
  2. muss neu gestartet werden(dasselbe Problem wie Nr. 1)
  3. Trotzhttps://serverfault.com/a/667082/104173Diese Behauptung /var/run/reboot-required.pkgsist auf unserem Debian 10.6-System (nach einem Kernel-Upgrade) noch nicht sichtbar.
  4. Neustartbenachrichtigerscheint nichts anzubieten, was funktioniert.
  5. lsof | grep lib | grep DELscheint (noch) nicht das zu bieten, was wir brauchen.

Der „Nagios-Ausgabemodus“ für einige der oben genannten Optionen scheint (noch) nicht leicht zu analysieren zu sein.

Antwort1

Wie wäre es mit der Überprüfung des Rückgabecodes? Dieser wird für einen aktuellen Kernel needrestart -k -p > /dev/null; echo $?ausgegeben und zeigt an, ob der ausgeführte Kernel nicht der erwartete ist.02

verwandte Informationen