Wenn beim Systemstart der Kern alles erkannt und eingerichtet hat und die Verzeichnisbaumwurzel eingehängt wurde, wird der Befehl /sbin/init ausgeführt[28]. init ist der „Vater“ aller Prozesse des Systems und dafür verantwortlich, dass das System in den gewünschten Runlevel startet. Wir werden die Runlevel später noch behandeln (siehe „Runlevel“).
Die init-Konfigurationsdatei heißt /etc/inittab. Sie hat einen eigenen Handbuchauszug (inittab(5)), daher werden wir hier nur einige der möglichen Einstellungen wiedergeben.
Die erste Zeile, die Sie beachten sollten, ist diese:
si::sysinit:/etc/rc.d/rc.sysinit |
Sie weist init an, das Skript /etc/rc.d/rc.sysinit sofort nach der Initialisierung des Systems auszuführen (si steht für System Init). init sucht anschließend den voreingestellten Runlevel, den es in der Zeile mit dem Schlüsselwort initdefault findet:
id:5:initdefault: |
In diesem Fall stellt init fest, dass der Standard-Runlevel 5 ist. Es weiß ferner, dass zum Erreichen des Runlevels 5 der folgende Befehl ausgeführt werden muss:
l5:5:wait:/etc/rc.d/rc 5 |
Wie Sie sehen, ist die Syntax für jeden Runlevel gleich.
init ist weiterhin für den Neustart (respawn) einiger Programme verantwortlich, die von keinem anderen Prozess gestartet werden können. So werden beispielsweise alle Logins der sechs virtuellen Konsolen durch init gestartet.[29]. Die zweite virtuelle Konsole wird hier mit der folgenden Zeile identifiziert:
2:2345:respawn:/sbin/mingetty tty2 |
[28] Daher ist es keine gute Idee, /sbin auf ein anderes Dateisystem zu verlegen. An diesem Punkt hat der Kern noch kein anderes Dateisystem eingehängt und wäre nicht in der Lage /sbin/init zu finden.
[29] Wenn Sie mit der Anzahl der virtuellen Konsolen nicht zufrieden sind, können Sie in dieser Datei welche hinzufügen oder entfernen. Sie können bis zu maximal 64 Konsolen einrichten. Vergessen Sie dabei aber nicht, dass X auch auf einer dieser Konsolen läuft und Sie daher eine virtuelle Konsole dafür reservieren müssen.