Die Antwort von Chaos ist, was einige Dokumentation sagt. Aber es ist nicht das, was systemd tatsächlich tut. (Es ist auch nicht das, was van Smoorenburg rc
getan hat. Der van Smoorenburg rc
hat die LSB-Header, die insserv
zur Berechnung der statischen Reihenfolge verwendet wurden, für den Anfang definitiv nicht ignoriert .) diese und andere Punkte. ( HOME
Tatsächlich wird die Umgebungsvariable häufig festgelegt. Dies war lange Zeit undokumentiert. Zumindest ist dies jetzt im Handbuch dokumentiert, aber die Freedesktop-WWW-Seite wurde noch nicht korrigiert.)
Das native Serviceformat für systemd ist die Serviceeinheit . Das eigentliche Service-Management von systemd arbeitet ausschließlich mit jenen, die es aus einem von neun Verzeichnissen liest, in denen (systemweite) .service
Dateien gespeichert werden können. /etc/systemd/system
, /run/systemd/system
, /usr/local/lib/systemd/system
, Und /usr/lib/systemd/system
sind vier dieser Verzeichnisse.
Die Kompatibilität mit van Smoorenburg- rc
Skripten wird mit einem Konvertierungsprogramm namens erreicht systemd-sysv-generator
. Dieses Programm ist im /usr/lib/systemd/system-generators/
Verzeichnis aufgeführt und wird daher von systemd zu Beginn des Bootstrap-Vorgangs bei jedem Bootvorgang und jedes Mal, wenn systemd angewiesen wird, seine Konfiguration später erneut zu laden, automatisch ausgeführt.
Dieses Programm ist ein Generator , eine Art Hilfsprogramm, dessen Aufgabe es ist, Service-Unit-Dateien im laufenden Betrieb in einem tmpfs zu erstellen, in dem sich drei weitere dieser neun Verzeichnisse befinden (die nur von Generatoren verwendet werden sollen). systemd-sysv-generator
generiert die Serviceeinheiten, von denen aus die van Smoorenburg- rc
Skripte ausgeführt werden /etc/init.d
, wenn keine systemeigene Serviceeinheit mit diesem Namen gefunden wird, die bereits an den anderen sechs Standorten vorhanden ist.
systemd service management kennt sich nur mit serviceeinheiten aus. Diese automatisch (neu) generierten Serviceeinheiten werden geschrieben, um die van Smoorenburg- rc
Skripte aufzurufen . Sie haben unter anderem:
[Einheit]
SourcePath = / etc / init.d / wibble
[Bedienung]
ExecStart = / etc / init.d / wibble start
ExecStop = / etc / init.d / wibble stop
Erhaltene Weisheit ist, dass die van Smoorenburg- rc
Skripte einen LSB-Header haben müssen und parallel ausgeführt werden, ohne die vom /etc/rc?.d/
System auferlegten Prioritäten zu berücksichtigen . Dies ist in allen Punkten falsch.
Tatsächlich benötigen sie keinen LSB-Header und systemd-sysv-generator
können die eingeschränkteren alten RedHat-Kommentar-Header ( description:
, pidfile:
usw.) nicht erkennen. Darüber hinaus wird in Abwesenheit eines LSB-Headers auf den Inhalt der /etc/rc?.d
symbolischen Linkfarmen zurückgegriffen, die in den Linknamen codierten Prioritäten gelesen und ein Vorher / Nachher-Ordering von diesen erstellt, die Dienste serialisiert. Nicht nur, dass LSB-Header keine Anforderung sind und nicht nur, dass sie selbst vor / nach Aufträgen codieren, die die Dinge zu einem gewissen Grad serialisieren, das Fallback-Verhalten in ihrer vollständigen Abwesenheit ist tatsächlich ein signifikant nicht parallelisierter Betrieb.
Der Grund, der /etc/rc3.d
anscheinend keine Rolle spielte, war, dass Sie dieses Skript wahrscheinlich über ein anderes /etc/rc?.d/
Verzeichnis aktiviert hatten . systemd-sysv-generator
übersetzt wird , in einem der aufgeführten /etc/rc2.d/
, /etc/rc3.d/
und /etc/rc4.d/
in eine native Wanted-By
Beziehung zu systemd ist multi-user.target
. Run-Levels sind in der Systemwelt "veraltet", und Sie können sie vergessen.
Weitere Lektüre