Wie kann man Linux-Server neu starten und herunterfahren?

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.

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.

  So vergleichen Sie zwei Textdateien im Linux-Terminal

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.

  So laden Sie Dateien unter Linux mit Curl . herunter

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
  So laden Sie Dateien unter Linux mit Curl . herunter

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.