====== 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 ((die Alternative ''netcat-openbsd'' kennt den Schalter ''-o'' nicht)) ''/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 === * http://kbase.redhat.com/faq/FAQ_52_5120.shtm === SuSE === ''/etc/init.d/skeleton'' kopieren und anpassen === Ubuntu 8.04 === ''/etc/init.d/skeleton'' kopieren und anpassen ====== Dokumentation der Distributoren ====== [[ http://docs.redhat.com/docs/de-DE/Red_Hat_Enterprise_Linux/5/html/Installation_Guide/s1-boot-init-shutdown-sysv.html | RedHat ]]