Bootvorgang 2. Anlauf

Bootvorgang debian Etch
Bootvorgang debian Etch
04.02.2009 23:03

Wie im Text zu diesem Blog bereits erwähnt, schildere ich hier meine Erfahrungen beim Erkunden der Linuxwelt. Im vorherigen Beitrag war der Informationsgehalt etwas mager, hoffe hiermit etwas mehr Fleisch an den Knochen zu bringen.

Der erste Prozess mit der Prozess-ID 1, lädt zunächst das Konfigurationsskript /etc/inittab, wo unter anderem angegeben ist welches der Default-RunLevel ist. Dieses Skript seinerseits, ruft das Skript /etc/init.d/rc mit einem Parameter, das dem RunLevel entspricht, auf. Pro RunLevel finden sich im zugehörigen Verzeichnis nach einer definierten Namensgebung benannte Skripts, die nacheinander abgearbeitet werden. Genaugenommen handelt es sich um Softlinks auf die entsprechenden Skripts.

Die Namen der Links verraten ob es sich um Stop- oder Startlinks handelt. Der erste Buchstabe (K für Kill, S für Start) sorgt für die Unterteilung. Auf den ersten Buchstaben folgt eine Zahlenfolge, damit wird die Reihenfolge der zu bearbeitenden Schritte festgelegt.

Es werden immer zuerst die Stopskripte und anschliessend die Startskripte abgearbeitet. Man kann die RunLevels wechseln indem man als Admin in der Konsole init <RunLevel> <Enter> eingibt. Dabei werden zuerst die Stopskripte des aktuellen RunLevels abgearbeitet, bevor die Startskripte des Ziel-Levels gestartet werden. Die Skripte stellen die zu startenden/stoppenden Dienste dar.

Auf meiner SuSe-Kiste habe ich festgestellt, dass es sowohl bei den Start- wie auch bei den Stopskripts Kollisionen gibt. Damit meine ich, es gibt Links auf Skripte, deren ersten 3 Zeichen identisch sind (Bsp. S10cups und S10mysql). Wird in diesem Fall die Reihenfolge anhand der nächsten Zeichen bestimmt? Wenn einige Dienste auf andere Dienste angewiesen sind muss doch die Reihenfolge irgendwie gewährleistet sein. Habe die Antwort auf diese Frage noch nicht gefunden.

Obiges Bild zeigt übrigens die Dateisystemstruktur der betroffenen Skripte unter debian Etch auf. Unter OpenSuse 11.0 finden sich die RunLevel-Verzeichnisse direkt in /etc/init.d/ mit rcX.d (X für RunLevel), wenn ich es richtig verstanden habe.

Eigentlich eine recht überschaubare Angelegenheit, wie diese RunLevels organisiert sind. Natürlich ist das, was ich hier wiedergegeben habe, nur ein Bruchteil der notwendigen Informationen, die im Umfeld der RunLevel Konfiguration vorhanden ist. Weiterführende Informationen finden sich in den Referenzen der einzelnen Distributionen.


Kommentare
Thx!
Devis Degenati (unangemeldet), Donnerstag, 05. Februar 2009 14:05:27
Ein/Ausklappen

Super Quelle!


Bewertung: 276 Punkte bei 90 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
Reihenfolge Init-Skripte
man-draker (unangemeldet), Donnerstag, 05. Februar 2009 12:56:18
Ein/Ausklappen

Laut, z.B. dieser Quelle:
http://www.dcl.hpi.uni-pots...teaching/osAdminSem/jaeger.pdf
entscheidet, wie du schon vermutest, die lexikalische Reihenfolge.


Bewertung: 264 Punkte bei 80 Stimmen.
Den Beitrag bewerten: Gut / Schlecht