
Systemdienstprogramm, das nach Paket-Upgrades Daemons identifiziert und neu startet, die veraltete Bibliotheken verwenden, um die Sicherheit zu gewährleisten. Unterstützt Container und Interpreter.
needrestart prüft, welche Daemons nach Bibliotheks-Upgrades neu gestartet werden müssen. Es ist vom checkrestart-Skript aus dem Paket debian-goodies inspiriert.
Im Verzeichnis ex/ befinden sich einige Hook-Skripte (zur Verwendung mit apt und dpkg. Die Skripte rufen needrestart nach jeder Paketinstallation bzw. jedem Paket-Upgrade auf.
needrestart sollte unter GNU/Linux funktionieren. Es hat eingeschränkte Funktionalität auf GNU/kFreeBSD, da /proc/<pid>/maps keine Verknüpfungen zu entfernten Dateien anzeigt.
needrestart unterstützt systemd, erfordert es jedoch nicht (verfügbar seit v0.6). Wenn systemd verwendet wird, sollten Sie ebenfalls libpam-systemd verwenden. Wenn needrestart systemd erkennt, geht es davon aus, dass libpam-systemd verwendet wird, und verlässt sich auf Cgroup-Namen, um zu erkennen, ob ein Prozess zu einer Benutzersitzung oder einem Daemon gehört. Wenn Sie libpam-systemd nicht verwenden, sollten Sie $nrconf{has_pam_systemd} in needrestart.conf auf 0 setzen.
Wenn systemd nicht verfügbar ist oder keinen Dienstnamen zurückgibt, verwendet needrestart Hooks, um das entsprechende System-V-Init-Skript zu identifizieren. Die mitgelieferten Hooks unterstützen die folgenden Paketmanager:
Der Befehl service wird verwendet, um das traditionelle System-V-Init-Skript auszuführen.
needrestart verwendet einen modularen Ansatz auf Basis von Perl-Paketen, die die Benutzeroberfläche bereitstellen. Die folgenden Frontends werden mitgeliefert:
needrestart 0.8 führt eine Erkennungsfunktion für veraltete Kernel ein. Seit needrestart 3.5 ist es möglich, Kernel-Image-Dateinamen zu filtern (erforderlich auf Raspberry Pi).
In needrestart 3.0 wurde eine Erkennungsfunktion für Prozessor-Mikrocode-Updates für Intel-CPUs hinzugefügt. Seit needrestart 3.5 wurde die Unterstützung für AMD-CPUs hinzugefügt.
needrestart 0.8 führt eine Interpreter-Scan-Funktion ein. Interpreter bilden nicht nur binäre (gemeinsame) Objekte ab, sondern verwenden auch Klartext-Quelldateien. Die Interpreter-Erkennung versucht, veraltete Quelldateien zu überprüfen, da diese ebenfalls Sicherheitsprobleme enthalten können. Dies ist nur eine Heuristik und könnte möglicherweise nicht alle relevanten Quelldateien erkennen. Die folgenden Interpreter-Scanner werden mitgeliefert:
needrestart 2.1 erkennt einige Container-Technologien. Wenn ein Prozess Teil eines Containers ist, ist es möglicherweise nicht möglich, ihn mithilfe von Sys-V/systemd neu zu starten.
Es gibt spezielle Perl-Pakete (NeedRestart::CONT::*), die die Container-Erkennung und den Neustart implementieren. Die folgenden Container-Detektoren werden mitgeliefert:
needrestart kann im Stapelmodus ausgeführt werden, um die Ergebnisse in anderen Programmen oder Skripten zu verwenden.
Es ist außerdem ein Nagios-Plugin-Modus verfügbar.