4.2.2. Neues Init-System

systemd ist der System- und Dienstmanager, der das SysV-Init-System aus früheren Red Hat Enterprise Linux Releases ersetzt.
systemd ist der erste Prozess, der beim Hochfahren des Systems gestartet wird, und der letzte Prozess, der beim Herunterfahren beendet wird. Er koordiniert den übrigen Bootvorgang und konfiguriert das System für den Benutzer. Unter systemd können voneinander abhängige Programme gleichzeitig laden, was den Bootvorgang deutlich beschleunigt.
systemd ist im Hinblick auf die Benutzung und das Skripting von APIs größtenteils kompatibel mit SysV. Allerdings gibt es einige Ausnahmen. Siehe Abschnitt 4.2.2.1, »Abwärtskompatibilität« für Details.
Der Wechsel zu systemd bringt ebenfalls Änderungen an den Verwaltungswerkzeugen für Red Hat Enterprise Linux mit sich. Werfen Sie einen Blick auf die systemctl man-Seite oder das Red Hat Enterprise Linux 7 Handbuch für Systemadministratoren für Details.
Weitere Details über die den Boot-Vorgang finden Sie im Red Hat Enterprise Linux 7 Installationshandbuch. Weitere Informationen über systemd finden Sie im Red Hat Enterprise Linux 7 Handbuch für Systemadministratoren. Beide Handbücher stehen unter http://access.redhat.com/site/documentation/Red_Hat_Enterprise_Linux/ zur Verfügung.

4.2.2.1. Abwärtskompatibilität

systemd ist dazu konzipiert, im Hinblick auf die Benutzung und das Skripting von APIs größtenteils mit SysV kompatibel zu sein. Allerdings gibt es einige Fälle, in denen die Kompatibilität eingeschränkt ist.
  • Die standardmäßigen /etc/init.d/servicename Befehle (start, stop, status) funktionieren nach wie vor. Allerdings empfiehlt Red Hat die Verwendung der /usr/sbin/service servicename Befehle, da diese direkt mit systemd interagieren und nicht die veralteten Init-Skripte verwenden.
  • Unterstützung für Runlevels ist eingeschränkt. Alle SysV-Runlevels sind systemd Zielen zugeordnet. Umgekehrt sind jedoch nicht alle systemd Ziele auch SysV-Runlevels zugeordnet. Einige Überprüfungen des aktuellen Runlevels können demnach N zurückgeben (unbekannter Runlevel). Red Hat empfiehlt Ihnen, Runlevel-Abfragen zu vermeiden und die aktuellen systemd Ziele zu verwenden.
  • Die veralteten Runlevels 2, 3 und 4 sind standardmäßig alle dem multi-user.target systemd Ziel zugeordnet. Benutzer können dieses Verhalten verändern, indem Sie andere systemd Ziele konfigurieren.
  • Dienste werden sauber ausgeführt und erben keinerlei Kontext vom aufrufenden Benutzer. Init-Skripte, die von geerbtem Kontext abhängen, werden nicht funktionieren.
  • systemd unterstützt keine zusätzlichen Verben in Init-Skripten. Falls Sie andere Verben als start, stop oder status benötigen, konfigurieren Sie diese in einem Hilfsskript.
  • Die Linux Standard Base Header-Informationen werden nun von systemd zur Laufzeit vollständig interpretiert und verwendet.
  • Alle Operationen von Init-Skripten unterliegen einem Timeout von fünf Minuten, um zu verhindern, dass das System aufgrund eines fehlerhaften Init-Skripts hängen bleibt.
  • systemd stoppt nur laufende Dienste. Dienste, die nicht gestartet wurden, werden beim Herunterfahren auch nicht gestoppt.
  • Das chkconfig Tool zeigt nur SysV-Dienste und Runlevel-Informationen und gibt unter Umständen irreführende Informationen aus. Red Hat empfiehlt, stattdessen den sysctl Befehl zu verwenden.
  • SysV-Dienste - auch solche mit Root-Privilegien - dürfen kein Realtime-Scheduling mehr erhalten.
  • Dienste können nicht mehr von stdin lesen. Falls Sie interaktive Skripte benötigen, sollten Sie das Framework für minimale Passwortabfragen in Erwägung ziehen, das von systemd unterstützt wird. Weitere Informationen über diese Funktionalität finden Sie auf der man-Seite:
    $ man systemd-ask-password
  • Frühere Versionen von Red Hat Enterprise Linux enthielten ein Prä-Installationsskript speziell für System z (linuxrc.s390), das System z Systeme zum Bootzeitpunkt gestartet hat. Durch das neue Init-System ist dieses Prä-Installationsskript nunmehr obsolet und System z Systeme booten auf dieselbe Weise wie AMD64, Intel® 64 und Power Systeme.