Runlevels
Runlevel sind definierte Systemzustände, z.B. Einzelbenutzermodus, Mehrbenutzer ohne Netzwerk, Runterfahren, in denen Skripte durchlaufen werden, die Programme starten und stoppen oder andere Aktionen ausführen.
systemd
Statt Runlevel wird bei systemd von „targets“ gesprochen.
Standard-target:
- anzeigen:
systemctl get-default
- ändern:
systemctl set-default multi-user.target
runlevel (sysV) | systemd-target | Bedeutung |
---|---|---|
0 | runlevel0.target, poweroff.target | System anhalten (halt) |
1, s, single | runlevel1.target, rescue.target | Einzelbenutzerbetrieb |
2, 4 | runlevel2.target, runlevel4.target, multi-user.target | User-defined/Site-specific runlevels - identical to 3 |
3 | runlevel3.target, multi-user.target | Mehrbenutzerbetrieb, nicht grafisch. |
5 | runlevel5.target, graphical.target | Mehrbenutzerbetrieb, grafisch |
6 | runlevel6.target, reboot.target | Reboot |
emergency | emergency.target | Notfallkonsole |
SysV
In der Datei
/etc/inittab
stehen sowohl die Bedeutung der Runlevel drin (variiert auch bei den Distributionen) als auch der Standardrunlevel und andere Einstellungen (z.B. welcher Befehl beim drücken der strg-alt-entf-Kombination ausgeführt wird).
z.B. bei Debian und Derrivate wie Ubuntu
Runlevel | Zustand |
---|---|
S | Initialisierung des Rechners unmittelbar nach dem Start |
0 | System anhalten (shutdown + halt) |
1 | Einzelbenutzerbetrieb mit Netzwerk (single-user) |
2-5 | Mehrbenutzerbetrieb mit Netzwerk und automatischem X-Start. Standard-runlevel ist 2. |
6 | Systemneustart (shutdown + reboot) |
Making scripts run at boot time with Debian
Bei (Open)Suse, Fedora und Red Hat sind die Runlevel so:
Runlevel | Zustand |
---|---|
0 | System anhalten (halt) |
S | Einzelbenutzerbetrieb mit US-Tastaturbelegung |
1 | Einzelbenutzerbetrieb mit lokaler Tastaturbelegung |
2 | Mehrbenutzerbetrieb ohne Netzwerk bzw. ohne NFS |
3 | Mehrbenutzerbetrieb mit Netzwerk aber ohne X |
4 | üblicherweise keine Verwendung |
5 | Mehrbenutzerbetrieb mit Netzwerk und mit X (grafische Oberfläche). Meist Standard-runlevel |
6 | Systemneustart (shutdown + reboot) |
Runleveleditoren
Um Dienste zu den verschiedenen Runleveln hinzuzufügen genügt es, symbolische Links von /etc/init.d in die entsprechenden Runlevelverzeichnisse anzulegen. Skripte mit beginned mit S sind Startskripte, die mit K sind Killskripte.
Alternativ kann man sich die Arbeit auch abnehmen lassen:
- (Open)Suse:
insserv
- Fedora, Red Hat, CentOS und Mandriva:
chkconfig
Andere Möglichkeiten sind
- ksysv (grafisch)
- rcconf
- ntsysv (Red Hat).