System-V-Dienst
100%

Init · Lektion 2

System-V-Dienst

Erfahre, wie du ältere SysV-Dienstskripte über den unterstützten Wrapper des aktiven Systems prüfst und bedienst.

SysV-Dienste werden gewöhnlich durch ausführbare Skripte unter /etc/init.d/ dargestellt. Ein Skript akzeptiert gemäß seiner Implementierung und den Distributionskonventionen Aktionen wie start, stop, restart oder status. Der Befehl service stellt einen Wrapper bereit, der ein benanntes Skript in einer stärker kontrollierten Umgebung ausführt.

Dienste und Aktionen ermitteln

Liste zuerst die Skriptnamen auf:

$ ls -1 /etc/init.d/

Einige Implementierungen stellen Folgendes bereit:

$ service --status-all

Seine Klammermarkierungen und Beendigungsstatus sind Wrapper-spezifisch, und ein Skript kann einen unbekannten Status melden. Prüfe für einen einzelnen Dienst die Nutzungsausgabe oder Dokumentation des Skripts, statt anzunehmen, dass jede Aktion vorhanden ist.

Was kapselt der Befehl service gewöhnlich?

Starten und stoppen

Auf einem tatsächlich durch SysV verwalteten Host sind diese Formen üblich:

$ sudo service SERVICE_NAME start
$ sudo service SERVICE_NAME stop

Ersetze den Platzhalter erst, nachdem du den Dienst, seine Abhängigen, seinen aktuellen Zustand und die betrieblichen Auswirkungen bestimmt hast. Das Stoppen von Netzwerk, Fernzugriff, Speicher oder Authentifizierung aus einer entfernten Sitzung kann dich aussperren oder aktive Arbeit beschädigen.

Die direkte Form /etc/init.d/SERVICE_NAME ACTION kann vorhanden sein. Verwende auf einem Host, dessen aktiver Manager Kompatibilität bereitstellt, jedoch den an den Manager gerichteten Befehl, damit dieser Zustand und Abhängigkeiten verfolgen kann.

Welcher Befehl fordert an, den SysV-Dienst peanut zu stoppen?

Neuladen, Neustarten und Status

restart stoppt und startet einen Dienst gewöhnlich und verursacht damit eine Unterbrechung. reload kann einen Dienst auffordern, die Konfiguration ohne vollständigen Neustart neu einzulesen, jedoch nur, wenn Skript und Daemon dies unterstützen. Einige Skripte bieten force-reload mit von der Distribution festgelegtem Fallbackverhalten an.

Validiere die Konfiguration vor jedem Neuladen oder Neustart, halte bei Änderungen am Fernzugriff eine zweite administrative Verbindung offen und überprüfe den Dienst anschließend über seinen tatsächlichen Endpunkt und seine Protokolle – nicht nur anhand eines Status „running“.

$ sudo service SERVICE_NAME status
$ sudo service SERVICE_NAME reload

Warum solltest du nicht annehmen, dass reload und restart gleichwertig sind?

Laufzeitsteuerung und Aktivierung beim Systemstart

Das sofortige Starten eines Dienstes aktiviert ihn nicht zwangsläufig für zukünftige Runlevel. Die Aktivierung beim Systemstart wird durch Runlevel-Links dargestellt und mit distributionsspezifischen Werkzeugen wie update-rc.d, chkconfig oder Kompatibilitätsgeneratoren des Dienstmanagers verwaltet.

Erstelle S- und K-Links nicht manuell, bevor du die Abhängigkeitsmetadaten und das Verwaltungswerkzeug der Distribution verstehst; manuelle Links können überschrieben oder falsch angeordnet werden.

Aktiviert service SERVICE start den Dienst zwangsläufig für zukünftige Systemstarts?

Lektion abgeschlossen

Sie haben System-V-Dienst abgeschlossen

Du kannst einen älteren Dienst nun bedienen, ohne Laufzeitsteuerung und Startrichtlinie zu verwechseln.

  • Ermittle das tatsächliche Skript und die unterstützten Aktionen.

  • Setze in der Wrapper-Syntax den Dienstnamen vor die Aktion.

  • Validiere und überprüfe das Verhalten beim Neuladen oder Neustarten.

  • Verwalte die Aktivierung für zukünftige Runlevel mit Distributionswerkzeugen.

Lernfortschritt speichern

Erstellen Sie ein kostenloses Konto, um diese Lektion zu speichern und auf jedem Gerät weiterzulernen.

Kostenloses Konto erstellen
Nächste Lektion
Zurück zu Init