Frage Wie kann ich über die Befehlszeile feststellen, ob der Computer neu gestartet werden muss?


Wenn Sie bestimmte Updates (z. B. einen neuen Kernel) in Ubuntu Desktop installieren, erhalten Sie einen Hinweis darauf, dass ein Neustart erforderlich ist (in Lucid wird das Abmeldungssymbol rot).

Wie kann ich von der Kommandozeile aus überprüfen, ob ein Ubuntu vorhanden ist? Server erfordert einen Neustart?

Ich könnte nach 'System Neustart erforderlich' in /etc/motd, aber ich möchte eine Lösung, die eleganter ist. Außerdem möchte ich eine Lösung, die in älteren Versionen funktioniert, z. Hardy (8.04 LTS).


219
2017-07-28 21:49


Ursprung


Wenn Sie Server warten, werden Sie bald auch Sinn entwickeln, ob ein Neustart erforderlich ist oder nicht. Die meisten Updates benötigen keinen Neustart oder nur einen Neustart des Dienstes (was automatisch geschehen sollte). - eXlin


Antworten:


Sie können einfach überprüfen, ob die Datei vorhanden ist /var/run/reboot-required existiert oder nicht.

Zum Beispiel würde jeder von Ihnen sagen, "keine solche Datei" oder "Datei nicht gefunden", wenn Sie nicht neu starten müssen, ansonsten (wenn Sie neu starten müssen) würde die Datei existieren und diese Befehle würden Informationen über die Datei anzeigen:

file /var/run/reboot-required
stat /var/run/reboot-required
ls /var/run/reboot-required

In einem Bash-Skript können Sie Folgendes verwenden:

#!/bin/bash
if [ -f /var/run/reboot-required ]; then
  echo 'reboot required'
fi

257
2017-07-28 22:02



Das funktioniert, und es funktioniert auch auf Hardy. (Funktioniert nicht auf Dapper - 6.06 - was ich immer noch auf einem Rechner habe. Tough.) Die Datei / var / run / reboot-required wird übrigens von / usr / share / update-notifier / notify-reboot erstellt -erforderlich, die aus den Betreuerskripten der verschiedenen Pakete aufgerufen wird. - Marius Gedminas
Es würde auch bei Dapper funktionieren, wenn ich das update-notifier-Paket installiert hätte, außer dass es 120 MB GNOME-Material in meinen alten Server ziehen will. - Marius Gedminas
Besser installieren update-notifier-common, es hängt nicht von irgendwelchen GUI Sachen ab (aber existiert nicht für Dapper). - Marius Gedminas
FWIW, update-notifier-common ist standardmäßig nicht auf dem Lucid-Server installiert. - Marius Gedminas
Vielen Dank! und die Datei /var/run/reboot-required.pkgs listet die Pakete auf, die den Neustart erfordern. - nealmcb


Im Paket debian-goodies befindet sich ein Befehl namens checkrestart, der sehr nützlich ist. Seine Ausgabe kann Ihnen helfen, einen vollständigen Neustart zu vermeiden.


39
2017-09-09 14:51



Wie kann ich einen vollständigen Neustart vermeiden? - Oxwivi
Es teilt Ihnen mit, welche ausgeführten Anwendungen gemeinsame Bibliotheken geladen haben, die während der Ausführung der Anwendung aktualisiert wurden. Anschließend starten Sie die Anwendungen und Dienste manuell neu und vermeiden einen vollständigen Neustart. Es hilft jedoch nicht mit Kernel-Upgrades. - aquaherd
Dies sollte die beste Antwort sein. Sehr hilfreich. OpenSUSE hat ein Tool eingebaut (und hilft Ihnen auch, wie Sie es ausführen können). Schande Ubuntu geht einfach "Neustart, Neustart". Zum Beispiel brauchte Colord hier einen Neustart. Daher muss nicht neu gestartet werden. - Shiki
@aquaherd Sehr hilfreicher Kommentar - könnte es sich lohnen, das in deine Antwort zu übertragen? - Duncan Jones


Normalerweise wenn die Datei

/var/run/reboot-required 

existiert, sollten Sie neu starten. Sie können sehen, ob diese Datei vorhanden ist, indem Sie diesen einfachen Befehl in gnome-terminal verwenden.

ls /var/run/reboot-required

32
2017-07-28 21:59



Diese Datei scheint nicht mehr aus dem update-notifier-common erstellt zu werden, mit dem sie erstellt wurde. - Scott


Sowie die direktesten Methoden, die von anderen geschrieben werden, gibt es eine praktische Anzeige, wenn Sie verwenden Byobu - eine Reihe von Skripten, um GNU-Bildschirm ein wenig benutzerfreundlicher zu machen. Es zeigt eine Reihe von Informationen am unteren Bildschirmrand an. Dazu gehört auch, ob ein Neustart erforderlich ist - ob Updates verfügbar sind, die Uhrzeit, die Betriebszeit, der verwendete Speicher ...

In diesem Screenshot sehen Sie von der 199! In der unteren Zeile mit dem roten Hintergrund stehen 199 Updates zur Verfügung ! bedeutet, dass einige Sicherheitsupdates sind. Das Menü im Vordergrund wählt aus, welche Statusbenachrichtigungen angezeigt werden sollen.

Wenn ein Neustart erforderlich ist, wird dies durch das Symbol angezeigt (R) in der unteren Leiste mit weißem Text auf einem blauen Hintergrund angezeigt. Weitere Details und andere Indikatoren können im Internet nachgelesen werden Byobu Man Seite.

byobu screenshot


17
2017-07-29 17:59





Das /etc/motd Datei erhält Informationen darüber, ob ein Neustart erforderlich ist /var/run/reboot-required Datei.

Sie können den Inhalt dieser Datei im Terminal mithilfe von überprüfen cat /etc/motd Befehl


9
2017-07-28 21:53



update-notifier-common verwendet, um dies zu erstellen, aber nicht mehr - Scott


Ich habe meiner .bash-aliases-Datei Folgendes hinzugefügt:

alias rr='if [ -f /var/run/reboot-required ]; then echo "reboot required"; else echo "No reboot needed"; fi'

Einfacher als das Installieren eines Pakets für diese relativ einfache Aufgabe. Dann laufe ich einfach:

you@somewhere:~$ rr
No reboot needed
you@somewhere:~$ 

6
2017-12-16 13:22





Wenn Sie die üblichen Pakete reboot-notifier oder update-notifier installiert haben, erhalten Sie die Dateien / var / run / reboot-required und /var/run/reboot-required.pkgs

reboot-notifier ist neu in Ubuntu Wily und Xenial. Debian strecken, aber in Jessie-Backports

update-notifier-common Ist älter, in allen Ubuntu-Versionen einschließlich Xenial und Debian Wheezy. Nicht in Debian Stretch oder Jessie.

(Es gibt Hintergrundinformationen zum reboot-notifier-Paket unter https://feeding.cloud.geek.nz/posts/introducing-reboot-notifier/  )

Wenn Sie diese Pakete nicht installiert haben, können Sie die Version des installierten Linux-Pakets mit der laufenden Version vergleichen:

tim@tramp:~$ dpkg -l linux-image-*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                              Version               Architecture          Description
+++-=================================-=====================-=====================-=======================================================================
ii  linux-image-3.16.0-4-amd64        3.16.7-ckt20-1+deb8u4 amd64                 Linux 3.16 for 64-bit PCs
ii  linux-image-amd64                 3.16+63               amd64                 Linux for 64-bit PCs (meta-package)
tim@tramp:~$ more /proc/version
Linux version 3.16.0-4-amd64 (debian-kernel@lists.debian.org) (gcc version 4.8.4 (Debian 4.8.4-1) ) #1 SMP Debian <b>3.16.7-ckt20-1+deb8u3</b> (2016-01-17)

Sie können hier sehen, dass der zuletzt installierte Kernel 3.16.7-ckt20-1 + deb8u4 ist, aber der Kernel läuft 3.16.7-ckt20-1 + deb8u3. Dieses System benötigt also einen Neustart. Das U4 gegen U3 rechts am Ende.

Möglicherweise müssen Sie das obige Feld scrollen. In der / proc / version kommt es auf die Version am Ende der Zeile an.

Die sehr geringfügige Versionscodeänderung ist typisch für ein Debian-Sicherheitskernupdate.

Needrestart

Eine weitere Option ist die Installation der needrestart Paket.

sudo apt-get install needrestart
sudo needrestart -k

Scheint zu funktionieren, auch wenn needrestart nach dem Upgrade des Kernels installiert wurde.


5
2018-03-06 21:48



Wie korreliert Ihr erster Absatz mit Ubuntu-Versionen? - muru
Guter Punkt. Vielen Dank. Ich hatte so lange damit verbracht, die Pakete zu testen und auszuprobieren, die ich vermisst hatte. Ich habe es überarbeitet, um es klarer zu machen und die Ubuntu-Paketinformationen zu integrieren. - Tim Bray
Nach 8.04, nach einem Update, das einen Neustart erforderte, würde das Cog rot werden. Wie bekomme ich dieses Verhalten zurück? - PenguinCSC
Ubuntu 14.04, bekomme ich dpkg-query: no packages found matching linux-image-* - the_nuts
Unknown option: k in Ubuntu 14.04. - Cees Timmerman