Der Kern startet zunächst den /bin/init Prozess init(8), dieser Startet dann weitere Prozesse.
Runlevel : Es gibt eine Menge von Prozessen, die zu einem Runlevel laufen sollen:
Üblich ist:
0 | reboot |
1 | singleuser mode |
2 | multiuser mode |
3 | multiuster mode mit netz |
6 | Multiusermode mit netz und XServer |
ganz früher hat der Administrator für jeden Runlevel ein Shell-Script geschrieben, um alle Prozesse des Runlevels zu starten.
Allerdings muss dieses bei jeder Änderung angepasst werden, und dies ist nur etwas für echte Administratoren mit Programmierfreude.
Weitere Aufgaben von init:
in /etc/init.d gibt es Start-Scripte für Prozesse/Dienste
in Unterverzeichnis rcX.d je Runlevel X gibt es Softlinks der form
SIdienst - Die werden im Runlevel X gestartet in der Numerischen Reihenfolge.
KIdienst beim stop werden diese Scrippte aufgerufen.
der Administrator setzt einfach die Links (dies kann auch mit Hilfe eines GUI-Tools geschehen)
z.B. bei OpenSuse könen die Scripte auch untereinander Abhänigkeiten haben, die vorher der Administrator wissen musste.
Daher müssen die Startscripte der Dienste mit insserv(8) beim System angemeldet werden:
insserv -v /etc/init.d/cyrusimapd
bei Redhat/CentOS gibt kann man einen Dienst wie folgt eintragen:
chkconfig --levels 345 httpd on
Alternativen: