BEZEICHNUNG¶
inittab - Format der Datei inittab für den SysV-kompatiblen Init-Prozess
BESCHREIBUNG¶
Die Datei
inittab beschreibt, welche Prozesse beim Booten und
während des normalen Betriebs gestartet werden (z. B. /etc/init.d/boot,
/etc/init.d/rc, gettys ...).
Init(8) unterscheidet mehrere
Runlevel, von denen jeder einen eigenen Satz von Prozessen umfasst, die
gestartet werden. Gültige Runlevel sind
0-
6 plus
A,
B und
C für
ondemand-Einträge. Ein Eintrag in
der Datei
inittab hat folgendes Format:
ID:
Runlevel:
Aktion:
Prozess
Zeilen mit einer Raute »#« am Anfang werden ignoriert.
- ID
- ist eine eindeutige Folge von 1-4 Zeichen zur
Identifikation eines Eintrags in inittab. (Für Versionen von
SysVinit, die mit der alten Libc5 (< 5.2.18) oder
a.out-Bibliotheken kompiliert wurden, ist das Limit 2 Zeichen).
Hinweis: Traditionell ist für Getty und andere Login-Verfahren der Wert
des ID-Felds der gleiche wie die Endung des entsprechenden ttys
gehalten, z.B. 1 für tty1. Einige alte
Login-Abrechnungsprogramme könnten das voraussetzen, obwohl der
Verfasser sich keines vorstellen kann.
- Runlevel
- listet die Runlevel, für die die angegebene Aktion
durchgeführt werden soll.
- Aktion
- beschreibt, was getan werden soll.
- Prozess
- gibt an, welcher Prozess ausgeführt werden soll. Wenn
das Prozess-Feld mit einem »+«-Zeichen beginnt, führt
Init(8) keine utmp- und wtmp-Abrechnung (accounting) für
diesen Prozess. Dies ist für Gettys erforderlich, die darauf
bestehen, das selber zu erledigen. Dies ist auch ein historischer
Fehler.
Das Feld
Runlevel kann mehrere Zeichen für verschiedene Runlevel
enthalten. Beispielsweise legt
123 fest, dass der Prozess in den
Runleveln 1, 2 und 3 gestartet werden soll. Die Runlevel für
ondemand-Einträge können
A,
B oder
C
enthalten. Das Feld
Runlevel der Einträge
sysinit,
boot und
bootwait wird ignoriert.
Bei einem Wechsel des Runlevels des Systems werden alle laufenden Prozesse, die
nicht im neuen Runlevel laufen sollen, beendet; zuerst mit SIGTERM, dann mit
SIGKILL.
Gültige Einträge für das
Aktion-Feld sind:
- respawn
- Der Prozess wird jedesmal, wenn er terminiert, neu
gestartet (z.B. getty).
- wait
- Der Prozess wird einmal beim Eintritt in den Runlevel
gestartet und Init(8) wartet auf den Abschluss des Prozesses.
- once
- Der Prozess wird einmal während der Initialisierung
des Runlevels ausgeführt.
- boot
- Der Prozess wird ausgeführt, während das System
hochfährt. Das Feld Runlevel wird ignoriert.
- bootwait
- Der Prozess läuft während des Systemstarts und
Init(8) wartet auf seinen Abschluss (z. B. /etc/rc). Das Feld
Runlevel wird ignoriert.
- off
- Es wird keine Aktion durchgeführt.
- ondemand
- Ein mit ondemand gekennzeichneter Prozess wird
jedesmal ausgeführt, wenn das angegebene ondemand-Runlevel
aufgerufen wird. Es erfolgt aber kein Wechsel des Runlevels. (Die
ondemand-Runlevel sind »a«, »b« und
»c«.)
- initdefault
- Ein initdefault-Eintrag legt den Runlevel nach dem
Systemstart fest. Fehlt dieser Eintrag, wird init(8) auf der
Konsole nach dem Runlevel fragen. Das Prozess-Feld wird
ignoriert.
- sysinit
- Dieser Prozess läuft beim Systemstart vor den
boot- und bootwait-Einträgen. Das Feld Runlevel
wird ignoriert.
- powerwait
- Dieser Prozess wird ausgeführt, wenn die Spannung der
Stromversorgung sinkt. Init(8) wird üblicherweise von einem
Prozess informiert, der mit der USV kommuniziert. Init(8) wartet
das Ende dieses Prozesses ab, bevor es weiter macht.
- powerfail
- Wie powerwait; Init(8) wartet aber nicht auf
den Abschluss dieses Prozesses.
- powerokwait
- Dieser Prozess wird ausgeführt, sobald Init(8)
erfährt, dass die Spannungsversorgung wieder normal
funktioniert.
- powerfailnow
- Dieser Prozess wird ausgeführt, wenn init(8)
erfährt, dass die Batterie der externen USV fast leer ist und ein
Stromausfall droht. Voraussetzung ist natürlich, dass USV und
Überwachungsprozess diesen Zustand erkennen können.
- ctrlaltdel
- Der Prozess wird ausgeführt, wenn Init(8) das
Signal SIGINT erhält. Dies bedeutet, dass jemand auf der
System-Konsole die Tastenkombination STRG-ALT-ENTF eingegeben hat.
Normalerweise will man eine Art von Shutdown ausführen;
entweder in den Single-User-Runlevel wechseln oder den Rechner neu
starten.
- kbrequest
- Der Prozess wird ausgeführt, wenn der Tastatur-Handler
Init(8) signalisiert, das auf der Tastatur der Konsole eine
bestimmte Tastenkombination eingegeben wurde.
Die Dokumentation für diese Funktion ist noch nicht vollständig.
Zusätzliche Dokumentation finden Sie in den kbd-x.xx-Paketen (das
aktuellste war beim Schreiben dieser Handbuchseite kbd-0.94).
Wahrscheinlich möchten Sie der »KeyboardSignal«-Aktion eine
Tastenkombinationen zuordnen. Um beispielsweise die Kombination »Alt
Aufwärtspfeil« zu verwenden, tragen Sie in Ihre keymaps-Datei
ein:
alt keycode 103 = KeyboardSignal
BEISPIELE¶
Dies ist ein Beispiel für eine inittab, die der alten Linux-inittab
ähnelt:
# inittab für Linux
id:1:initdefault:
rc::bootwait:/etc/rc
1:1:respawn:/etc/getty 9600 tty1
2:1:respawn:/etc/getty 9600 tty2
3:1:respawn:/etc/getty 9600 tty3
4:1:respawn:/etc/getty 9600 tty4
Diese inittab-Datei führt beim Systemstart
/etc/rc aus und startet
Gettys auf tty1 bis tty4.
Eine ausgefeiltere
inittab mit verschiedenen Runleveln (siehe die
innenstehenden Kommentare):
# Standard-Runlevel
id:2:initdefault:
# Skript für Konfiguration/Initialisierung während
# des Systemstarts
si::sysinit:/etc/init.d/rcS
# Das läuft im Single-User-Modus.
~:S:wait:/sbin/sulogin
# /etc/init.d führt beim Wechsel des Runlevel die
# S- und K-Skripte aus.
#
# Runlevel 0 ist Halt.
# Runlevel 1 ist der Single-User-Betrieb.
# Runlevel 2-5 sind Mehrbenutzer-Modi.
# Runlevel 6 ist der Neustart (Reboot).
l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6
# Was wird beim »Affengriff« getan?
ca::ctrlaltdel:/sbin/shutdown -t1 -h now
# Runlevel 2,3: Getty auf virtuellen Konsolen
# Runlevel 3: Getty auf Terminal (ttyS0) und Modem (ttyS1)
1:23:respawn:/sbin/getty tty1 VC linux
2:23:respawn:/sbin/getty tty2 VC linux
3:23:respawn:/sbin/getty tty3 VC linux
4:23:respawn:/sbin/getty tty4 VC linux
S0:3:respawn:/sbin/getty -L 9600 ttyS0 vt320
S1:3:respawn:/sbin/mgetty -x0 -D ttyS1
DATEIEN¶
/etc/inittab
AUTOR¶
Der Autor von
Init(8) ist Miquel van Smoorenburg (miquels@cistron.nl).
Diese Handbuchseite wurde von Sebastian Lederer
(lederer@francium.informatik.uni-bonn.de) geschrieben und von Michael Haardt
(u31b3hs@pool.informatik.rwth-aachen.de) überarbeitet.
SIEHE AUCH¶
init(8),
telinit(8)
ÜBERSETZUNG¶
Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard
Schauer <Martin.E.Schauer@gmx.de> 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 <debian-l10n-german@lists.debian.org>.