Targets / Runlevel

Wir wollen jetzt das Prozessmanagement unter Linux besser verstehen. Hierzu wieder ein Scribble aus einem meiner Seminare zum Thema:

SysVinit vs. SystemD

SysVinit vs. SystemD

Erinnerung: Runlevel ist ein klassischer Begriff von SysVinit / Init; neuere systemd-Technik arbeitet mit Begriff Targets

Beispielhafter Online-Beitrag zum Thema SystemD: Grundlagenartikel systemd von Heise.de

Die klassischen Runlevel als tabellarische Übersicht:

  • 0 - Stop/Halt

  • 1 / s / S - Single User (zu Wartungsarbeiten)

  • 2 - Multi-User (mit und ohne Netzwerk - je nach Distribution)

  • 3 - Multi-User und Netzwerk (klassische Serverumgebung LAMP und Co)

  • 4 - unbenutzt

  • 5 - Multi-User, Netzwerk, X-Server (heute mit Desktops wie KDE oder Gnome)

  • 6 - Reboot

Klassischer Ordner für Skripte /etc/init.d mit Unterordnern für die Runlevel

Momentaufnahme openSUSE 42.1 Runlevel 5:

/etc/init.d/rc5.d beinhaltet noch 3 Dienste mit entsprechenden (S Start - K Stop/Kill) Skripten

hier: avahi-daemon, postfix, udev

Diese init-Skripte arbeiten dann mit Parametern start | stop | restart | reload

Momentaufnahme openSUSE 42.3:

Keinerlei Skripte mehr in den Runlevel-Unterordnern /etc/init.d/rc0.d bis rc6.d (Anm.: nur noch in ./boot.d für AppArmor)

Anm.: Red Hat (und Co) arbeiten mit /etc/rc.d als Haupt-Skriptordner - siehe auch SymLink rc.d auf init.d bei openSUSE.

Hinweis

Zum Zeitpunkt Juli 2020 ist nur noch CentOS 6 / RHEL 6 mit den klassischen Runleveln nach SysVinit am Start.

Und CentOS 6 ist für Ende November 2020 abgekündigt!

Linux-Alternative mit SysVinit: antiX Linux (basierend auf Debian)

Aus dem Massenmarkt verschwindet SysVinit (Runlevel) also gerade und wir sollten uns dem am weitest verbreiteten Prozessmanagement bei den Linux-Distros zuwenden - dem SystemD.