Dieser Artikel beschreibt wie Systemdienste in Linux automatisch gestartet werden können.
Alle Systemdienste wie z. B. Webserver, Datenbankserver oder Daemons die zum Betrieb oder der Verwaltung von Linux selbst benötigt werden, stellen ein Skript zur Verfügung über das der Dienst gesteuert werden kann.
Diese Skripts befinden sich im Verzeichnis /etc/init.d/.
Alle diese Dienste können beim Systemstart automatisch gestartet bzw. beim Shutdown wieder beendet werden. Eine manuelle Steuerung der Dienste ist ebenfalls möglich: Durch übergabe des Parameters start, stop, restart, status etc. können diese Dienste gesteuert werden.
Welche Dienste gestartet werden, wird für jeden Runlevel separat definiert.
Die Runlevels können manuell umgeschaltet werden:
$ init <runlevel-id>
Wobei die runlevel-id die jeweilige Nummer des Runlevels ist in den gewechselt werden soll.
Der Default-Runlevel wird in der Datei /etc/inittab mit dem folgenden Eintrag festgelegt:
# The default runlevel. id:3:initdefault:
In obigem Beispiel wird der Runlevel 3 festgelegt (Betrieb mit Netzwerk ohne grafische Oberfläche).
Dadurch werden alle Dienste die im Verzeichnis /etc/rc3.d/ verlinkt sind gestartet bzw. gestoppt wenn der Runlevel verlassen wird. Die Namen der verlinkten Dienste sollten folgendem Schema folgen:
S<id>-<name> K<id>-<name>
Alle Einträge die mit S beginnen werden beim Start des Runlevels ausgeführt. Jene die mit K beginnen werden beim Verlassen gestoppt.
Die id dient der Angabe der Reihenfolge in der die Dienste gestartet werden sollen. Beispielsweise muss das Netzwerk vor dem Webserver gestartet werden.
Der name kann frei gewählt werden und dient nur der Übersicht.
Diskussion