Inhaltsverzeichnis

SysV-init

runlevel

Unter RedHat und SuSE gibt es Runlevel 1 als Notfall-Modus. Unter Debian ist Runlevel 1 nicht als Notfall-Modus geeignet. emergency am Bootprompt angeben startet den Debian Notfall-Modus. Welche Runlevel auf einem System definiert sind, steht in der Datei /etc/inittab.

SuSE und RedHat

runlevel heißt? [Kurz-Beschreibung]
0 System halt [System angehalten, nichts geht mehr]
1 Single user mode [root wird angemeldet, sonst nichts gestartet]
2 Local multiuser without remote network (e.g. NFS) [zur lokalen Administration ohne Netzwerk. Vorsicht! Schon per „ping“ erreichbar]
3 Full multiuser with network [vollwertiges System ohne graphische Oberfläche, z.B. Server]
4 Not used [nicht genutzt → frei für Jobs des Admins]
5 Full multiuser with network and xdm [vollwertiges System, z.B. Desktop-PCs]
6 System reboot [System wird neu gestartet] (Do not use this for initdefault!) [ist gut für Reboot-Test]

Debian und Ubuntu

runlevel heißt? [Kurz-Beschreibung]
0 System halt [System angehalten, nichts geht mehr]
1 Single user mode [root wird angemeldet, sonst nichts gestartet]
2 - 5 Full multiuser with network and xdm [vollwertiges System, z.B. Desktop-PCs]
6 System reboot [System wird neu gestartet] (Do not use this for initdefault!) [ist gut für Reboot-Test]

/etc/inittab

wait

Beispiel: netcat in den Runleveln 2 und 3 einmalig starten

Paket: netcat-traditional 1)

/etc/inittab :

nc:23:wait:/bin/netcat -lp 5000 -o /tmp/netcat
ps -C netcat
telinit q
ps -C netcat
pkill netcat
ps -C netcat

respawn

Beispiel: netcat in den Runleveln 2 und 3 starten; und erneut starten, wenn der Prozess beendet wurde.

Paket: netcat-traditional

/etc/inittab :

nc:23:respawn:/bin/netcat -lp 5000 -o /tmp/netcat
ps -C netcat
telinit q
ps -C netcat
pkill netcat
ps -C netcat

erste init-Skripte

Welche Start-Skripte werden bei jedem Bootvorgang als erstes gestartet?

SuSE

/etc/init.d/boot.d/

Debian

/etc/init.d/rcS
/etc/rcS.d/

CentOS 5

/etc/rc.d/rc.sysinit

runlevel Start-Skripte

Hier werden die meisten Dienste gestartet: (abhängig vom eingestellen Runlevel, hier 2)

/etc/init.d/rc2.d/

bzw.

/etc/rc2.d/

SuSE und RedHat

Alle Links mit „S*“ (für Start) am Beginn des Filenamens aufgerufen. Beim Verlassen des Runlevels (z.B. shutdown) werden die Links mit Filenamen „K*“ (für Kill) gerufen.

Debian und Ubuntu

Alle Links mit „S*“ (für Start) am Beginn des Filenamens aufgerufen. Beim Verlassen des Runlevels (z.B. shutdown) werden die selben Links in umgekehrter Reihenfolge aufgerufen.

Dienste starten und eintragen

Dienst sofort, einmalig starten

/etc/init.d/dienst start

oder

service dienst start

Dienst immer beim Booten starten

SuSE und RedHat
chkconfig dienst on
Debian
update-rc.d dienst default

oder

insserv dienst

Dienst sofort, einmalig beenden

/etc/init.d/dienst stop

oder

service dienst stop

Dienst beim Booten nicht starten

SuSE und RedHat
chkconfig dienst off
Debian
update-rc.d -f dienst remove

oder

insserv -r dienst

Startoptionen eines Dienstes ändern

Debian, Ubuntu:

cp -a /etc/default/dienst{,.orig}
vim /etc/default/dienst

SuSE, RedHat:

cp -a /etc/sysconfig/dienst{,.orig}
vim /etc/sysconfig/dienst

Änderungen anzeigen:

diff /etc/sysconfig/dienst{,.orig}

Dienst neu starten:

/etc/init.d/dienst restart

Start-Skript für Dienste von Drittanbietern

RedHat / Centos

SuSE

/etc/init.d/skeleton kopieren und anpassen

Ubuntu 8.04

/etc/init.d/skeleton kopieren und anpassen

Dokumentation der Distributoren

RedHat

1)
die Alternative netcat-openbsd kennt den Schalter -o nicht