Als Sysadmin ist eine der häufigsten Aktivitäten das Neustarten oder Ausschalten von Servern.
Dies kann auf regelmäßige Wartungsaktivitäten wie das Patchen des Betriebssystems oder auf einen Hardwarefehler zurückzuführen sein, der das Herunterfahren eines Systems zur Wartung erfordert.
Ein Linux-System bietet verschiedene Möglichkeiten, den Server neu zu starten oder herunterzufahren. Ein normales System sollte auf jeden Befehl reagieren, während ein heruntergekommener Server möglicherweise zwangsweise neu gestartet werden muss. Beachten Sie, dass die meisten dieser Befehle eine bestimmte Berechtigungsstufe entweder als Superuser oder mit sudo erfordern, um erfolgreich ausgeführt zu werden, da der Neustart eines Systems eine administrative Aufgabe ist und für ein Mehrbenutzersystem oder einen Server, auf dem kritische Prozesse ausgeführt werden, ein Neustart oder Herunterfahren eine ist störende Tätigkeit.
Dieser Artikel behandelt einige solcher Methoden, die Ihnen beim Neustart/Herunterfahren von Linux helfen können.
Inhaltsverzeichnis
GUI-Methode
Wenn Sie eine GUI-Desktop-Umgebung für Linux wie Gnome, KDE, Mate, XFCE usw. verwenden, finden Sie im System-/Anwendungsmenü einen Netzschalter, der Aktionen wie Abmelden, Neustarten, Ruhezustand oder Ausschalten bietet. Die verfügbaren Optionen können je nach verwendeter Distribution, Desktop-Umgebung und Version des Betriebssystems geringfügig abweichen. Aber Sie werden definitiv energiebezogene Einstellungen in den verfügbaren Menüs finden, um den Energiezustand Ihres Systems zu ändern.
Beispielsweise finde ich auf meinem Ubuntu Mate-Desktop die Option Herunterfahren im Power-Menü oben rechts auf meinem Bildschirm.
Sobald Sie die Option „Herunterfahren…“ ausgewählt haben, wird Ihnen ein Dialogfeld mit mehreren Optionen wie „Suspend“, „Neustart“, „Abbrechen“ und „Herunterfahren“ angezeigt. Sie können entweder mit Neustart oder Herunterfahren fortfahren, indem Sie auf die rechte Schaltfläche klicken, oder abbrechen und zu Ihrer Desktop-Umgebung zurückkehren.
Die angebotene GUI und Optionen können je nach Distribution und Desktop-Umgebung, die Sie verwenden, geringfügig abweichen, aber seien Sie versichert, dass es eine Option zum Ändern des Energiezustands des Systems gibt. Und mit GUI sind es nicht mehr als ein paar Klicks im Power-Menü.
systemctl-Befehl
Auf einer Linux-Box, auf der systemd als Init-System ausgeführt wird, können Sie den Befehl systemctl verwenden, um Ihren Computer neu zu starten.
$ sudo systemctl start reboot.target
Oder Sie können einfach systemctl mit der erforderlichen Option verwenden, z. B. für einen Neustart als:
$ sudo systemctl reboot
Zum Einleiten eines Herunterfahrens lautet der Befehl systemctl wie folgt:
$ sudo systemctl shutdown
Um das System anzuhalten, verwenden Sie:
$ sudo systemctl halt
Shutdown-Befehl
Der Befehl shutdown kann sowohl zum Herunterfahren als auch zum Neustarten eines Linux-Systems verwendet werden. Um ein System sofort neu zu starten, verwenden Sie:
$ sudo shutdown -r now
Oder um ein System ohne Wartezeit herunterzufahren, verwenden Sie das Flag -h oder -P:
$ sudo shutdown -P now
Wir können dem Shutdown-Befehl eine Verzögerung hinzufügen, um das System nach einem bestimmten Intervall neu zu starten/auszuschalten. Dies kann erreicht werden als:
$ sudo shutdown -r 10
Um ein System anzuhalten, ohne die Hardware zum Ausschalten aufzufordern, können Sie das Flag -H verwenden:
$ sudo shutdown -H now
Wenn Sie einfach den Shutdown-Befehl angeben, wird das Herunterfahren nach einer Minute geplant. Um zu einer bestimmten Zeit herunterzufahren, verwenden Sie:
$ sudo shutdown 22:30
In vielen Fällen sendet ein System, während es ausfällt, eine Nachricht an die Konsole der angemeldeten Benutzer. Wenn Sie Ihre benutzerdefinierte Nachricht in dieser Sendung hinzufügen möchten, können Sie eine Nachricht zusammen mit dem Befehl zum Herunterfahren wie folgt angeben:
$ sudo shutdown 23:00 "Powering off system for maintenance...save your work"
Um ein geplantes Herunterfahren abzubrechen, können Sie das Flag -c verwenden:
$ sudo shutdown -c
Auf einigen Systemen rufen Sie mit dem Befehl „shutdown“ systemctl im Backend auf, um den gewünschten Vorgang zum Neustarten/Herunterfahren zu erreichen.
Neustartbefehl
Um ein System ordnungsgemäß neu zu starten, können Sie auch den Befehl reboot verwenden (muss möglicherweise mit sudo verwendet werden).
$ sudo reboot
Um das System mit dem Neustartbefehl auszuschalten, verwenden Sie das Flag -p:
$ sudo reboot -p
Um einen Neustart zu erzwingen (für Systeme, die nicht auf den normalen Neustartbefehl reagieren), können Sie -f flag wie folgt versuchen:
$ sudo reboot -f
Halt-Befehl
Um ein System anzuhalten, können Sie einfach den Befehl halt verwenden:
$ sudo halt
Poweroff-Befehl
Um ein System auszuschalten, haben Sie die Möglichkeit, den poweroff-Befehl zu verwenden:
$ sudo poweroff
init-Befehl
Für Systeme, die nicht auf systemd laufen, bietet der Befehl init (telinit funktioniert auch) Optionen zum Ändern des Runlevels des Systems. Um ein System mit init neu zu starten, können Sie Folgendes verwenden:
$ sudo init 6
Ähnlich wie beim Anhalten eines Systems lautet der zu verwendende Init-Befehl:
$ sudo init 0
Das Aufrufen eines bestimmten Runlevels mit init bewirkt, dass der Init-Prozess des Systems eine Reihe von Init-Skripten in einer bestimmten Reihenfolge ausführt, um sicherzustellen, dass das System das gewünschte Runlevel erreicht. Runlevel 6 ist für den Neustart definiert, Runlevel 0 für das Anhalten des Systems.
Power-Taste
Bei Linux, das auf einem Desktop oder Laptop ausgeführt wird, bewirkt das Drücken des Netzschalters standardmäßig, dass das System entweder in den Ruhezustand versetzt oder durch Senden des Signals zum Herunterfahren heruntergefahren wird. Diese Option kann in den Energieeinstellungen des Systems angepasst werden. Obwohl es idealerweise als letzte Option verwendet werden sollte, wenn normale Befehle nicht funktionieren.
Bei einem Remote-Server, auf dem Linux ausgeführt wird, schaltet der Netzschalter das System normalerweise aus. Aber diejenigen, die sich in Remote-Rechenzentren befinden, haben die zusätzliche Option, von ihren Remote-Lights-Out-Management-CLI/GUI-Tools, die von den jeweiligen Serveranbietern angeboten werden, neu gestartet oder ausgeschaltet zu werden.
Alt + SysRq-Kombination
Bei einem nicht reagierenden, eingefrorenen System ist es schwierig, es in einen Neustart- oder Ausschaltzustand zu versetzen. Wenn Sie keine andere Möglichkeit haben und als letzten Ausweg, können Sie versuchen, Alt + PrintScreen + eine Tastenfolge zu drücken, um das System sofort neu zu starten. Dies ist möglicherweise keine bevorzugte oder empfohlene Option, kann aber dennoch als letzter Ausweg verwendet werden.
Denken Sie immer daran, dass es bei dieser Methode wie bei jeder anderen nicht ordnungsgemäßen, erzwungenen Neustart- oder Abschaltoption zu Datenverlust und -beschädigung kommen kann. Stellen Sie die Best Practices des Systems für Backups und Redundanz sicher und seien Sie vorsichtig, wenn Sie diese Option verwenden.
Damit diese Option funktioniert, sollte sie im Linux-Kernel aktiviert sein. Sie können dies mit dem folgenden Befehl überprüfen:
$ cat /proc/sys/kernel/sysrq
Eine Ausgabe von 1 zeigt an, dass es vollständig aktiviert ist, während eine Zahl größer als anzeigt, dass es mit einigen Funktionen teilweise aktiviert ist. Um es explizit zu aktivieren, können Sie Folgendes verwenden:
$ sudo echo “1” > /proc/sys/kernel/sysrq
Um ein System mit dieser Methode neu zu starten, halten Sie Alt + SysRq (PrintScreen) gedrückt und drücken Sie dann nacheinander die folgenden Tasten nach einem Intervall von wenigen Sekunden zwischen jeder Taste:
R E I S U B
oder zum Herunterfahren am Ende O statt B drücken:
R E I S U O
Hier, was die Schlüssel bedeuten:
- R: Schalten Sie die Tastatur vom Raw- in den XLATE-Modus
- E: SIGTERM-Signal an alle Prozesse außer init senden
- I: SIGKILL-Signal an alle Prozesse außer init senden
- S: Alle gemounteten Dateisysteme synchronisieren
- U: Mounten Sie alle eingehängten Dateisysteme als schreibgeschützt neu
Schließlich haben wir entweder B oder O, was für Folgendes steht:
- B: Starten Sie das System sofort neu, ohne Partitionen auszuhängen oder zu synchronisieren
ODER
- O: System sofort herunterfahren, ohne Partitionen auszuhängen oder zu synchronisieren
Zusammenfassung
Hier gehen also verschiedene Wege, die es Ihnen ermöglichen, ein Linux-System neu zu starten oder herunterzufahren. Es bietet Ihnen Optionen, die von einfachen GUI-Schnittstellen bis hin zu relativ komplexen Terminalbefehlen reichen, die Ihnen das Leben erleichtern oder Ihnen sogar ermöglichen, Dinge zu automatisieren. Für Systeme, die aus dem einen oder anderen Grund eingefroren sind, haben wir erzwungene Wege zum Erreichen eines Neustart- oder Herunterfahrzustands besprochen, die möglicherweise nicht der ideale Weg sind, aber in seltenen Fällen verwendet werden müssen.
Treffen Sie Vorsichtsmaßnahmen bei der Verwendung der in diesem Artikel beschriebenen Befehle, da sie den Systemstatus beeinflussen und möglicherweise mehrere Benutzer und Dienste im Fall eines Unternehmensservers betreffen könnten. Sehen Sie sich die Manpages der in diesem Artikel vorgeschlagenen Befehle an, um mehr über sie und ihre Optionen zu erfahren.
Erfahren Sie hier, wie Sie WAS so konfigurieren, dass es beim Herunterfahren nicht mehr nach einem Passwort fragt.