shutdown(8) fährt das System herunter

ÜBERSICHT

/sbin/shutdown [-akrhPHfFnc] [-t Sek] Zeit [Warnmeldung]

BESCHREIBUNG

Shutdown fährt das System auf sichere Weise herunter. Alle angemeldeten Benutzer werden benachrichtigt, dass das System heruntergefahren wird und login(1) wird blockiert (Anmeldungen unterbunden). Sie können das System sofort oder nach einer festgelegten Verzögerung herunterfahren. Allen Prozessen wird zunächst mit dem Signal SIGTERM mitgeteilt, dass das System herunterfährt. So bekommen Programme wie vi(1) die Zeit, um die bearbeitete Datei zu speichern, Mail- und News-Verarbeitungsprogramme können sauber verlassen werden usw. Shutdown erledigt seine Arbeit, indem es dem init(8)-Prozess signalisiert, das Runlevel zu ändern. Runlevel 0 wird verwendet, um das System anzuhalten, Runlevel 6 bewirkt einen Neustart des Systems und Runlevel 1 wird verwendet, um das System in einen Zustand zu versetzen, in dem administrative Aufgaben durchgeführt werden können. Runlevel 1 ist die Standardeinstellung, wenn keiner der Schalter -h oder -r an shutdown übergeben wird. Um zu erfahren, welche Aktionen bei Herunterfahren oder Neustart durchgeführt werden, sehen Sie sich die entsprechenden Einträge für diese Runlevel in der Datei /etc/inittab an.

OPTIONEN

-a
verwendet /etc/shutdown.allow
-k
nicht tatsächlich herunterfahren; nur die Warnmeldungen an alle Benutzer versenden
-r
nach dem Herunterfahren neu starten
-h
nach dem Herunterfahren anhalten oder ausschalten
-P
beim Anhalten die Energieversorgung ausschalten
-H
Dieser Schalter muss mit dem Schalter -h aufgerufen werden und ändert dessen Verhalten. Auf Systemen mit Unterstützung für ein Boot-Überwachungsprogramm (boot monitor) wird dieses aufgerufen.
-f
Beim Systemstart wird fsck(8) übersprungen.
-F
Beim Systemstart wird fsck(8) erzwungen.
-n
[MISSBILLIGT] Nicht init(8) aufrufen, um das System herunterzufahren, sondern es selber tun. Von der Verwendung dieser Option wird abgeraten. Ihre Ergebnisse sind nicht immer das, was Sie erwarten würden.
-c
Bricht ein anstehendes Herunterfahren ab (»shutdown now« steht nicht mehr an). Mit dieser Option können Sie natürlich kein Zeit-Argument übergeben, aber Sie können auf der Befehlszeile eine erklärende Meldung eingeben, die an alle Nutzer gesendet wird.
-t Sek
Weist init(8) an, Sek Sekunden nach dem Versand der Warnung und des Kill-Signals zu warten, bevor der Runlevel gewechselt wird.
Zeit
Zeitpunkt des Herunterfahrens
Warnmeldung
Diese Nachricht wird an alle Benutzer gesendet.

Für das Argument Zeit gibt es verschiedene Formate. Das erste ist eine absolute Zeit im Format hh:mm, wobei die ein oder zwei Ziffern hh die Stunden und die zwei Ziffern mm die Minuten angeben. Das zweite Format +m gibt die Wartezeit in Minuten an. Schließlich ist now ein Synonym für +0.

Wenn Shutdown mit einer Verzögerung herunterfahren soll, erzeugt es die Hinweisdatei /run/nologin für Programme wie login(1), die dann die Anmeldung neuer Benutzer unterbinden. Diese Datei wird fünf Minuten vor dem Beginn der Shutdown-Sequenz erzeugt. Shutdown entfernt diese Datei, wenn das Herunterfahren angehalten wird oder ein Fehler auftritt, bevor es init(8) ein Signal senden kann. Die Datei wird auch vor einem Aufruf von init(8) zum Wechsel des Runlevels aufgerufen.

Der Schalter -f bedeutet »schnell wieder hochfahren« (reboot fast). Es wird lediglich eine Hinweisdatei /fastboot erzeugt, die vom System beim Neustart ausgewertet werden kann. Das für den Start zuständige rc-Skript kann, wenn die Datei vorhanden ist, entscheiden, wegen dem ordnungsgemäßen Herunterfahren den Aufruf von fsck(8) zu unterlassen. Danach sollte der Startvorgang /fastboot entfernen.

Der Schalter -F bedeutet »Dateisysteme auf jeden Fall prüfen« (force fsck). Es wird lediglich die Hinweisdatei /forcefsck erzeugt. Das für den Start zuständige rc-Skript kann, wenn die Datei vorhanden ist, entscheiden, fsck(8) mit dem Schalter --force aufzurufen, sodass auch ordnungsgemäß ausgehängte Dateisysteme überprüft werden. Danach sollte der Startvorgang /forcefsck entfernen.

Mit dem Schalter -n wird shutdown nicht init(8) aufrufen, sondern alle laufenden Prozesse selbst beenden. Danach deaktiviert shutdown die Ressourcenüberwachung (quota), die Prozessabrechnung (accounting) und die Speicherauslagerung (swapping) und hängt alle Dateisysteme aus.

ZUGRIFFSKONTROLLE

Shutdown kann von init(8) als Reaktion auf die Tastenkombination STRG-ALT-ENTF aufgerufen werden, indem ein entsprechender Eintrag in /etc/inittab hinzugefügt wird. Damit kann jeder, der physischen Zugriff auf die Konsolen-Tastatur hat, das System herunterfahren. Um dies zu verhindern, kann shutdown überprüfen, ob ein berechtigter Benutzer auf einer der virtuellen Konsolen angemeldet ist. Wenn shutdown mit dem Schalter -a aufgerufen wird (fügen Sie dies dem Aufruf von shutdown in /etc/inittab hinzu), überprüft es, ob die Datei /etc/shutdown.allow vorhanden ist. Es vergleicht dann die Login-Namen in der Datei mit der Liste der Personen, die an einer virtuellen Konsole angemeldet sind (die Daten stammen aus /var/run/utmp). Nur wenn einer dieser autorisierten Benutzer oder root eingeloggt ist, macht es weiter. Sonst wird es die Nachricht

shutdown: no authorized users logged in

auf die (physikalische) System-Konsole ausgeben. Das Format von /etc/shutdown.allow ist ein Benutzername pro Zeile. Leere und Kommentarzeilen (beginnen mit einem #) sind möglich. Derzeit ist die Datei auf 32 Benutzer beschränkt.

Beachten Sie: Wenn /etc/shutdown.allow nicht vorhanden ist, wird der Schalter -a ignoriert.

ANHALTEN ODER AUSSCHALTEN

Der Schalter -H setzt die von init(8) ausgewertete Umgebungsvariable INIT_HALT auf HALT; -P weist dieser Variable den Wert POWEROFF zu. Das Skript zur Steuerung des Herunterfahrens sollte INIT_HALT auswerten und halt(8) mit den passenden Optionen aufrufen, damit der Wert der Variable auch tatsächlich etwas bewirkt. Debian 3.1 (sarge) unterstützt diese Optionen.

DATEIEN

/fastboot
/etc/inittab
/etc/init.d/halt
/etc/init.d/reboot
/etc/shutdown.allow

ANMERKUNGEN

Viele Benutzer vergessen es, das Zeit-Argument anzugeben und werden dann durch die Fehlermeldung von Shutdown verwirrt. Das Zeit-Argument ist obligatorisch; in 90 Prozent aller Fälle wird es das Wort now sein.

Init kann STRG-ALT-ENTF nur im Konsolen-Modus abfangen und das Herunterfahren einleiten. Wenn auf dem Rechner das X Window System läuft, verarbeitet dieses alle Tastatureingaben. Manche X11-Umgebungen ermöglichen das Abfangen von STRG-ALT-ENTF, aber in diesem Fall ist der genaue Ablauf von der Umgebung abhängig.

Shutdown wurde nicht dafür entworfen, mit einer anderen Benutzerkennung (setuid) zu laufen. Mit /etc/shutdown wird nicht festgestellt, wer das Programm aufgerufen hat. Es wird nur geprüft, wer aktuell auf (einer) der Konsole(n) angemeldet ist.

AUTOR

Miquel van Smoorenburg, [email protected]

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer <[email protected]> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an <[email protected]>.