System-V-init, gewöhnlich SysV init oder sysvinit genannt, ist ein traditioneller Entwurf für PID 1 und den Dienststart. Er bleibt auf älteren Systemen und durch Kompatibilitätsskripte wichtig. Installierte Dateien im SysV-Stil beweisen jedoch nicht, dass sysvinit als PID 1 läuft.
Init · Lektion 1
Überblick über System V
Erfahre, wie das traditionelle System-V-init Runlevel und geordnete Links zu Dienstskripten verwendet.
Das aktive init-System erkennen
Prüfe die laufende PID 1:
$ ps -p 1 -o pid,comm,args=
$ readlink /proc/1/exe
Eine Datei /etc/inittab oder ein Verzeichnis /etc/init.d/ ist nur ein unterstützender Hinweis. systemd und andere init-Systeme können diese Dateien aus Kompatibilitätsgründen behalten, und Container können einen anderen PID-Namensraum als der Host anzeigen.
Was ist der stärkste Beleg dafür, dass sysvinit aktiv ist?
Runlevel
Ein Runlevel ist ein benannter numerischer Betriebsmodus. SysV-Konfigurationen verwenden traditionell die Level 0 bis 6 und besondere Level, ihre Bedeutungen sind jedoch Distributionsrichtlinien und kein universelles Gesetz. Verbreitete Konventionen sind:
0: Übergang zum Anhalten oder Ausschalten1oderS: Einzelbenutzer- oder Rettungsmodus2bis5: von der Distribution definierte Mehrbenutzermodi6: Übergang zum Neustart
Systeme der Debian-Familie behandeln die Level 2–5 historisch ähnlich, während Konventionen der Red-Hat-Familie Text- und Grafikmodi unterscheiden. Prüfe auf dem tatsächlichen Host /etc/inittab, die init-Dokumentation und Runlevel-Verzeichnisse.
Welches Runlevel fordert auf vielen SysV-Systemen konventionsgemäß das Anhalten oder Ausschalten an?
Init-Skripte und Runlevel-Links
Dienstskripte befinden sich gewöhnlich unter /etc/init.d/. Runlevel-Verzeichnisse wie /etc/rc2.d/ oder /etc/rc.d/rc2.d/ enthalten Links, deren Namen Übergangsaktion und Reihenfolge codieren:
- Links
SNNnamefordern eine Startaktion an. - Links
KNNnamefordern eine Stoppaktion an. NNlegt die lexikografische Reihenfolge der Links für diesen Übergang fest.
Der genaue Algorithmus und die Verzeichnisse unterscheiden sich. Abhängigkeiten können außerdem in Skriptköpfen ausgedrückt und von Distributionswerkzeugen verarbeitet werden, und einige Implementierungen parallelisieren Arbeit. SysV sollte nicht auf eine Garantie reduziert werden, dass jeder Dienst streng nacheinander startet.
Was fordert ein Link S20networking beim Eintritt in ein Runlevel konventionsgemäß an?
Zwischen Runleveln wechseln
Wenn init das Runlevel wechselt, stoppt die rc-Logik der Distribution nicht mehr benötigte Dienste und startet die im neuen Modus erforderlichen Dienste. Skripte müssen hinreichend idempotent sein, um wiederholte Status- oder Übergangsvorgänge zu verarbeiten und aussagekräftige Statuswerte zurückzugeben.
Die Anforderung von Runlevel 0 oder 6 ist eine systemweite destruktive Verfügbarkeitsaktion. Verwende die Schnittstelle des Systems zum Herunterfahren, benachrichtige Benutzer, sichere aktive Arbeit und überprüfe den Zugriff auf die Fernkonsole, statt rohe init-Übergänge beiläufig aufzurufen.
Was fordert Runlevel 6 konventionsgemäß an?
Grenzen der Kompatibilität
Auf einem systemd-Host können SysV-Skripte als erzeugte Units eingebunden werden, doch Abhängigkeiten, Zeitüberschreitungen, Protokollierung und Zustandssemantik von systemd gelten weiterhin. Die unmittelbare Ausführung eines älteren Skripts kann die Verfolgung des Dienstmanagers umgehen. Bestimme den aktiven Manager und verwende nach Möglichkeit seine native Schnittstelle.
Warum sollte ein Skript im SysV-Stil auf einem systemd-Host gewöhnlich über den Dienstmanager aufgerufen werden?
Lektion abgeschlossen
Sie haben Überblick über System V abgeschlossen
Du kannst nun ein traditionelles SysV-Layout interpretieren, ohne anzunehmen, dass es aktiv ist.
Bestimme die laufende PID 1, bevor du init-Befehle auswählst.
Behandle Runlevel-Bedeutungen als von der Distribution definierte Konventionen.
Lies
S,Kund die numerische Reihenfolge in Runlevel-Links.Verwende kontrollierte Verfahren zum Herunterfahren für die Level 0 und 6.
Respektiere den aktiven Manager, wenn Kompatibilitätsskripte vorhanden sind.
Lernfortschritt speichern
Erstellen Sie ein kostenloses Konto, um diese Lektion zu speichern und auf jedem Gerät weiterzulernen.
Kostenloses Konto erstellen