Als Systemadministrator gehört das Neustarten oder Herunterfahren von Servern zu den gängigsten Aufgaben.
Diese Aktionen können aufgrund von planmäßigen Wartungsarbeiten, wie z.B. dem Einspielen von Betriebssystem-Patches, oder wegen Hardwarefehlern notwendig sein, welche das Herunterfahren eines Systems für Reparaturen erfordern.
Ein Linux-System bietet verschiedene Optionen zum Neustarten oder Herunterfahren eines Servers. Ein funktionierendes System sollte auf jeden Befehl reagieren, während ein abgestürzter Server möglicherweise einen erzwungenen Neustart benötigt. Es ist wichtig zu beachten, dass die meisten dieser Befehle bestimmte Berechtigungen erfordern, entweder als Superuser oder mit sudo, da der Neustart eines Systems eine administrative Aufgabe darstellt und für ein Mehrbenutzersystem oder einen Server mit kritischen Prozessen ein Neustart oder Herunterfahren eine störende Maßnahme sein kann.
Dieser Artikel beleuchtet einige dieser Methoden, die Ihnen beim Neustart oder Herunterfahren von Linux hilfreich sein können.
Grafische Benutzeroberfläche (GUI)
Wenn Sie eine grafische Desktop-Umgebung unter Linux verwenden, wie beispielsweise Gnome, KDE, Mate oder XFCE, finden Sie im System- oder Anwendungsmenü einen Ein-/Ausschalter, der Funktionen wie Abmelden, Neustarten, Ruhezustand oder Ausschalten anbietet. Die verfügbaren Optionen können je nach verwendeter Distribution, Desktop-Umgebung und Version des Betriebssystems leicht variieren. Sie werden jedoch immer Optionen für die Energieverwaltung in den Menüs finden, um den Energiezustand Ihres Systems zu ändern.
In meiner Ubuntu Mate-Desktopumgebung beispielsweise finde ich die Option zum Herunterfahren im Power-Menü oben rechts auf dem Bildschirm.
Sobald Sie die Option „Herunterfahren…“ ausgewählt haben, erscheint ein Dialogfenster mit verschiedenen Optionen wie „Suspendieren“, „Neustart“, „Abbrechen“ und „Herunterfahren“. Sie können entweder mit einem Neustart oder Herunterfahren fortfahren, indem Sie auf die entsprechende Schaltfläche klicken, oder abbrechen und zu Ihrer Desktop-Umgebung zurückkehren.
Die angezeigte GUI und die verfügbaren Optionen können sich je nach Distribution und Desktop-Umgebung leicht unterscheiden, aber es gibt immer eine Möglichkeit, den Energiezustand des Systems zu ändern. Mit einer GUI sind es nur wenige Klicks im Power-Menü.
Der Befehl systemctl
Auf einem Linux-Rechner, der systemd als Init-System verwendet, können Sie den Befehl systemctl
benutzen, um Ihren Computer neu zu starten.
$ sudo systemctl start reboot.target
Oder Sie verwenden systemctl
direkt mit der entsprechenden Option, beispielsweise:
$ sudo systemctl reboot
Um ein Herunterfahren einzuleiten, verwenden Sie folgenden systemctl
Befehl:
$ sudo systemctl shutdown
Zum Anhalten des Systems verwenden Sie:
$ sudo systemctl halt
Der Befehl shutdown
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 Verzögerung herunterzufahren, verwenden Sie die Option -h
oder -P
:
$ sudo shutdown -P now
Dem Befehl shutdown
kann eine Verzögerung hinzugefügt werden, um das System nach einer bestimmten Zeitspanne neu zu starten oder herunterzufahren. Dies kann folgendermaßen erreicht werden:
$ sudo shutdown -r 10
Um ein System anzuhalten, ohne die Hardware zum Ausschalten aufzufordern, verwenden Sie die Option -H
:
$ sudo shutdown -H now
Wenn Sie nur den Befehl shutdown
angeben, wird das Herunterfahren auf eine Minute später terminiert. Um zu einer bestimmten Zeit herunterzufahren, verwenden Sie:
$ sudo shutdown 22:30
In vielen Fällen sendet ein System beim Herunterfahren eine Nachricht an die Konsole der angemeldeten Benutzer. Wenn Sie Ihre eigene Nachricht in dieser Sendung hinzufügen möchten, können Sie eine Nachricht zusammen mit dem Befehl shutdown
wie folgt angeben:
$ sudo shutdown 23:00 "System wird für Wartung heruntergefahren...speichern Sie Ihre Arbeit"
Um ein geplantes Herunterfahren abzubrechen, verwenden Sie die Option -c
:
$ sudo shutdown -c
Auf manchen Systemen ruft der Befehl shutdown
im Hintergrund systemctl
auf, um den gewünschten Neustart- oder Herunterfahrvorgang zu erreichen.
Der Befehl reboot
Um ein System ordnungsgemäß neu zu starten, können Sie auch den Befehl reboot
verwenden (eventuell mit sudo
).
$ sudo reboot
Um das System mit dem Befehl reboot
auszuschalten, verwenden Sie die Option -p
:
$ sudo reboot -p
Um einen Neustart zu erzwingen (für Systeme, die nicht auf den normalen Befehl reboot
reagieren), können Sie die Option -f
wie folgt verwenden:
$ sudo reboot -f
Der Befehl halt
Um ein System anzuhalten, können Sie den Befehl halt
verwenden:
$ sudo halt
Der Befehl poweroff
Um ein System auszuschalten, haben Sie die Möglichkeit, den Befehl poweroff
zu verwenden:
$ sudo poweroff
Der Befehl init
Für Systeme, die nicht mit systemd laufen, bietet der Befehl init
(oder telinit
) Optionen zur Änderung 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 den gewünschten Runlevel erreicht. Runlevel 6 ist für den Neustart definiert, Runlevel 0 für das Anhalten des Systems.
Der Power-Knopf
Unter Linux auf einem Desktop oder Laptop 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. Dies sollte idealerweise die letzte Option sein, wenn normale Befehle nicht funktionieren.
Bei einem Remote-Server, auf dem Linux ausgeführt wird, schaltet der Netzschalter das System normalerweise aus. Aber diejenigen in entfernten Rechenzentren haben die zusätzliche Möglichkeit, von ihren Remote-Lights-Out-Management-CLI/GUI-Tools neu zu starten oder auszuschalten, die von den jeweiligen Serveranbietern angeboten 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 + Druck + eine Tastenfolge zu drücken, um das System sofort neu zu starten. Dies ist vielleicht nicht die bevorzugte oder empfohlene Option, kann aber als letzter Ausweg dienen.
Bedenken Sie immer, dass es bei dieser Methode, wie bei jeder anderen erzwungenen Neustart- oder Abschaltoption, zu Datenverlusten und -beschädigungen kommen kann. Stellen Sie die Best Practices 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 sie vollständig aktiviert ist, während eine Zahl größer als 0 anzeigt, dass sie teilweise mit einigen Funktionen aktiviert ist. Um sie 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 (Druck) gedrückt und drücken dann nacheinander die folgenden Tasten nach einer Pause von wenigen Sekunden zwischen jeder Taste:
R E I S U B
Oder zum Herunterfahren drücken Sie am Ende O statt B:
R E I S U O
Hier die Bedeutung der Tasten:
- R: Versetzt die Tastatur vom RAW- in den XLATE-Modus
- E: Sendet SIGTERM-Signal an alle Prozesse außer init
- I: Sendet SIGKILL-Signal an alle Prozesse außer init
- S: Synchronisiert alle eingebundenen Dateisysteme
- U: Bindet alle eingebundenen Dateisysteme als schreibgeschützt erneut ein
Schließlich haben wir entweder B oder O, was Folgendes bedeutet:
- B: Startet das System sofort neu, ohne Partitionen auszuhängen oder zu synchronisieren
ODER
- O: Schaltet das System sofort herunter, ohne Partitionen auszuhängen oder zu synchronisieren
Zusammenfassung
Es gibt verschiedene Methoden, um ein Linux-System neu zu starten oder herunterzufahren. Diese reichen von einfachen grafischen Benutzeroberflächen bis zu komplexeren Terminalbefehlen, die Ihnen das Leben erleichtern oder sogar die Automatisierung von Aufgaben ermöglichen. Für Systeme, die aus irgendeinem Grund eingefroren sind, haben wir erzwungene Methoden zur Erreichung eines Neustart- oder Herunterfahrzustands besprochen, die zwar nicht ideal sind, aber in seltenen Fällen notwendig sein können.
Seien Sie vorsichtig bei der Verwendung der in diesem Artikel beschriebenen Befehle, da diese den Systemstatus beeinflussen und möglicherweise mehrere Benutzer und Dienste im Falle eines Unternehmensservers beeinträchtigen können. Lesen Sie die Manpages der in diesem Artikel vorgeschlagenen Befehle, um mehr über sie und ihre Optionen zu erfahren.
Hier erfahren Sie, wie Sie WAS so konfigurieren, dass es beim Herunterfahren nicht mehr nach einem Passwort fragt.