Durch Runlevel soll ermöglicht werden, das System in verschiedenen Zuständen zu starten:
SuSE | RedHat |
|
|
Der Systemverwalter hat nun im laufenden Betrieb die Möglichkeit, durch
root@sonne> init S
|
das Runlevel zu wechseln. Der Wechsel der Modi dient u.a. der Pflege des Systems (Single User Mode) oder der voreingestellten Benutzung der grafischen Oberfläche (Multi User with Network and X). Durch
root@sonne> init 0
|
kann das System angehalten (wie halt
) und durch
root@sonne> init 6
|
neu gestartet (wie reboot
) werden.
Ein Wechsel des Runlevels im aktuellen Betrieb läuft intern wie folgt ab:
init
ruft das Shellskript /sbin/init.d/rc
(SuSE) bzw.
/etc/rc.d/rc
(RedHat) mit dem neuen
Runlevel auf
rc
ruft daraufhin alle Stop-Skripte des aktuellen Runlevels
auf (Verzeichnis /sbin/init.d/rc
X.d
, X
entspricht dem alten Runlevel; bei RedHat befinden sich die Verzeichnisse unter /etc/rc.d
).
Diese Skripte sind mit Nummern zwischen 0 und 99 versehen, die besagen, dass ein Skript mit niedriger Nummer zwingend vor dem Skript mit einer höheren Nummer abzuarbeiten ist. Bei gleicher Nummer (Priorität) ist die Reihenfolge der Ausführung nicht vorgeschrieben, erfolgt jedoch meist alphabetisch. Diese Abbildung zeigt die Namenskonvention der Skripte.
Die Dateien in den Unterverzeichnissen zu den einzelnen Runlevels sind nur Links auf
Dateien eines anderen Verzeichnisses, so sind K20sendmail
und S20sendmail
Verweise auf ein und dasselbe Skript. Dieses Skript erkennt anhand des
Linknamens, in welchem Kontext es aufgerufen wurde.
rc
die Start-Skripte
des neuen Runlevels abgearbeitet
init
nur die Datei /etc/inittab
auf Veränderungen und führt entsprechende
Aktionen aus
Das Ändern des Default-Runlevels lässt sich neben dem direkten Bearbeiten der Datei
/etc/inittab
durch distributionsspezifische Tools realisieren:
yast
mittels Administration des Systems => Login-Konfigurationlinuxconf
Verschiedene Dienste => Initiale Systemdienste