9.2. Runlevel

Alle Dateien, die beim Hochfahren des Systems eine Rolle spielen, befinden sich im Verzeichnis /etc/rc.d. Hier ist eine Liste dieser Dateien:

$ ls /etc/rc.d 
init.d/  rc.local*    rc0.d/  rc2.d/  rc4.d/  rc6.d/
rc*      rc.sysinit*  rc1.d/  rc3.d/  rc5.d/

Den Anfang bestimmt also die Datei rc.sysinit. Sie legt die grundlegende Konfiguration fest: Tastatur-Typ, Konfiguration einiger Geräte, Dateisystemprüfung usw.

Dann wird das rc-Skript gestartet, mit dem Runlevel als Argument. Wie gesehen, ist der Runlevel eine einfache Zahl. Für jeden definierten Runlevel <n> muss es ein entsprechendes Verzeichnis rc<n>.d geben. Eine typische Linux-Mandrake-Installation weist 6 definierte Runlevel auf:

Als Beispiel soll hier der Inhalt des Verzeichnisses /etc/rc.d/rc5.d dienen:

$ ls rc5.d
K15postgresql@  K60atd@      S15netfs@   S60lpd@        S90xfs@
K20nfs@         K96pcmcia@   S20random@  S60nfs@        S99linuxconf@
K20rstatd@      S05apmd@     S30syslog@  S66yppasswdd@  S99local@
K20rusersd@     S10network@  S40crond@   S75keytable@
K20rwhod@       S11portmap@  S50inet@    S85gpm@
K30sendmail@    S12ypserv@   S55named@   S85httpd@
K35smb@         S13ypbind@   S55routed@  S85sound@

Wie Sie sehen, sind alle Dateien in diesem Verzeichnis symbolische Verweise und haben alle eine spezifische Form. Diese ist

<S|K><order><service_name>

S steht Start, bzw. ,,starte den Dienst``; K für Kill, bzw. ,,stoppe den Dienst``. Die Skripte werden in der Reihenfolge ihrer Nummer und bei Nummerngleichheit in alphabetischer Reihenfolge aufgerufen. Weiterhin sehen Sie, dass jeder symbolische Verweis auf ein Skript in /etc/rc.d/init.d verweist (mit der Ausnahme von local). Diese Skripte sind jeweils für die Ausführung eines bestimmten Dienstes zuständig.

Wechselt das System in einen bestimmten Runlevel, führt es zuerst die entsprechenden K-Skripte aus, indem es die gelinkten Skripte mit dem Argument stop aufruft. Dann führt es auf die gleiche Weise die S-Skripte aus, mit dem Unterschied, dass das Argument nun start ist.

Sie sehen also, dass der Wechsel in den Runlevel 5 folgende Aktionen auslöst: zuerst läuft das Skript K15postgresql, d.h.

/etc/rc.d/init.d/postgresql stop

dann K20nfs, gefolgt von K20rstatd usw. Anschließend werden die S-Skripte ausgeführt: S05ampd, d.h.

/etc/rc.d/init.d/apmd start

usw.

Mit diesem Wissen ausgerüstet können Sie innerhalb weniger Minuten Ihren ganz persönlichen Runlevel kreieren oder das Starten, bzw. Stoppen eines Dienstes verhindern (durch das Löschen des symbolischen Verweises). Für diese Aufgabe stellt Linux auch Programme wie beispielsweise DrakXServices oder ntsysv bereit.


Tux on Star from MandrakeSoft Linux ist ein eingetragenes Warenzeichen von Linus Torvalds. Alle anderen Warenzeichen und Copyrights sind das Eigentum ihrer Inhaber.
Sofern nichts anderes Angaben ist, unterliegen die Inhalte der Seiten sowie alle Bilder dem Copyright von MandrakeSoft S.A. und MandrakeSoft Inc. 2000.
http://www.linux-mandrake.com/