Samstag, 5. September 2009

Systemstart durch Init-V

Direkt nach dem Kernel-Start wird unter Unix das Programm /sbin/init gestartet. Du siehst ihn als ersten Eintrag wenn du ps afx aufrufst. Du kannst dem Init-Prozess schon beim lilo/grub-Start Parameter übergeben, dazu später mehr.
Danach führt Init eine Reihe von Skripten aus, diese starten dann diverse Dienste oder konfigurieren deinen Rechner. Das richtig Interessante sind aber die Runlevels. Mit diesen Runlevels kannst du deinen Rechner in verschiedenen Konfigurationen hochfahren, zum Beispiel mit oder ohne Netzwerk.

Die Runlevels werden mit Nummer belegt, leider hat fast jede Distri eine andere Vorstellung davon. Aber es besteht Hoffnung, und zwar durch die Linux Standart Base, damit versuchen die meisten Distributoren eine einheitlich Basis für Linux zu schaffen.
Also, laut LSB sind die Runlevels so definiert:

0 System anhalten
1 Single User Mode: Nur ein Benutzer kann arbeiten, meistens root. Es sollten nur die wichtigsten Dienste gestartet sein
2 Mulituser, no network: Es können mehrere Benutzer arbeiten, ohne Netzwerk-Exports (NFS) (multiuser with no network services exported)
3 Normal, Multiuser: Normaler Modus
4 Reserviert: normale Benutzung, Multiuser
5 Multiuser mit X-Anmeldung: Es erscheint der X-Server zur Benutzer-Anmeldung
6 Reboot: Rechner wird neugestartet


Deinen aktuellen Runlevel erfährst du als root mit dem Befehl runlevel:

root # runlevel #Der aktuelle Runlevel