Einführung
Moderne Linux-Distributionen verfügen über das systemd-Initialisierungssystem, mit dem Benutzer Dienste mit systemctl
verwalten können Befehl.
Einige ältere Systeme verwenden jedoch immer noch System V oder Upstart. Verwenden Sie in diesem Fall die chkconfig
Befehl zum Auflisten, Starten und Beenden von Diensten sowie zum Aktivieren oder Deaktivieren von Diensten beim Start.
Diese Anleitung zeigt Ihnen, wie Sie chkconfig
verwenden Befehl zur Steuerung von Systemdiensten unter Linux.
Voraussetzungen
- Ein System, auf dem System V oder Upstart ausgeführt wird.
- Zugriff auf das Terminal/die Befehlszeile.
- Zugriff auf ein Konto mit Root- oder Sudo-Berechtigungen.
Die chkconfig-Befehlssyntax
Die chkconfig
Befehlssyntax sieht so aus:
chkconfig [options] [service] [subcommand]
Der Befehl funktioniert alleine, kann aber auch verwendet werden mit:
- Die
--list
,--level
,--add
,--del
, und--override
Optionen, die vor dem Dienstnamen angegeben sind. Die Optionen drucken die Details oder verwalten den betreffenden Dienst. - Der
on
,off
,reset
, oderresetpriorities
Unterbefehle, die nach dem Dienstnamen hinzugefügt werden. Die Unterbefehle ändern die Startinformationen für den angegebenen Dienst.
Die chkconfig-Befehlsoptionen
Ausführen von chkconfig
Befehl ohne Optionen gibt die aktuelle Konfiguration aller Dienste aus:
Die Ausführung des Befehls mit verschiedenen Optionen und Unterbefehlen ermöglicht es Benutzern jedoch, Dienste zu verwalten, anstatt sie nur aufzulisten. Die folgende Tabelle zeigt die Optionen und Unterbefehle, die mit chkconfig
verwendet werden Befehl:
Option | Beschreibung |
---|---|
--list | Zeigt alle Dienste und ihren aktuellen Startstatus in jedem Runlevel an. |
--list | sort | Sortiert Dienste alphabetisch und zeigt sie mit ihrem aktuellen Startstatus in jedem Runlevel an. |
--list | grep on | Zeigt nur laufende Dienste und ihren aktuellen Startstatus in jedem Runlevel an. |
--list | grep off | Zeigt nur Dienste an, die in einem oder mehreren Runlevels deaktiviert sind, und ihren aktuellen Startstatus in jedem Runlevel. |
--list | grep --level <levels>:on | Level-spezifisch:Gibt Dienste aus, die in einem bestimmten Runlevel ausgeführt werden. |
--list | grep --level <levels>:off | Level-spezifisch:Druckt Dienste, die in einem bestimmten Runlevel deaktiviert sind. |
--list [service] | Gibt den Status eines bestimmten Dienstes in jedem Runlevel aus. |
[service] on | Ermöglicht einem Dienst, beim Systemstart zu starten. |
[service] off | Verhindert, dass ein Dienst beim Systemstart gestartet wird. |
--level <levels> [service] on | Schaltet einen bestimmten Dienst in einem einzelnen oder mehreren Runlevels ein. |
--level <levels> [service] off | Schaltet einen bestimmten Dienst in einem oder mehreren Runlevels aus. |
--add [service] | Fügt einen Dienst zum Start in allen Runlevels hinzu. |
--del [service] | Entfernt einen Dienst aus dem Start in allen Runlevels. |
[service] reset | Setzt den Ein/Aus-Status aller Dienste zurück. |
[service] resetpriorities | Setzt die Start-/Stopprioritäten aller Dienste zurück. |
--override [service] | Konfiguriert einen Dienst mit den Außerkraftsetzungseinstellungen anstelle der Standardkonfiguration neu. |
Die chkconfig-Befehlsbeispiele
Der chkconfig
command ist das ultimative Dienstverwaltungstool für ältere Linux-Systeme. In den folgenden Abschnitten werden allgemeine chkconfig
beschrieben Beispiele.
Alle Dienste auflisten
Um alle Dienste aufzulisten, führen Sie den Befehl ohne Optionen aus oder führen Sie Folgendes aus:
chkconfig --list
Mit --list
mit dem chkconfig
Der Befehl zeigt den Status aller verfügbaren Dienste in allen Runlevels an. Falls Sie Dienste in alphabetischer Reihenfolge sortieren möchten, verwenden Sie den sort
Möglichkeit:
chkconfig --list |sort
Die chkconfig --list
Der Befehl funktioniert auch in RHEL 7. Die Ausgabe zeigt jedoch nur Sys V-Dienste und keine nativen Systemdienste an:
Alle aktivierten Dienste auflisten
Um alle aktivierten Dienste (in einem oder mehreren Runlevels) zu finden, führen Sie Combine chkconfig --list
aus mit dem grep-Befehl:
chkconfig --list | grep on
Führen Sie Folgendes aus, um alle deaktivierten Dienste (in einem oder mehreren Runlevels) zu finden:
chkconfig --list | grep off
Um den Geltungsbereich auf die Dienste auf/von einem bestimmten Runlevel einzugrenzen, verwenden Sie außerdem:
chkconfig --list | grep --level <levels>:on
chkconfig --list | grep --level <levels>:off
Listen Sie beispielsweise alle Dienste auf, die in Runlevel 5 ausgeführt werden, mit:
chkconfig --list | grep 5:on
Um andererseits alle Dienste anzuzeigen, die nicht in Runlevel 5 ausgeführt werden, führen Sie Folgendes aus:
chkconfig --list | grep 5 :off
Einen bestimmten Dienst auflisten
Um die Startkonfiguration eines bestimmten Dienstes in allen Runlevels anzuzeigen, führen Sie chkconfig --list
aus und geben Sie den Dienst an.
chkconfig --list [service]
Überprüfen Sie beispielsweise den Status des ntpd Dienst in allen Runlevels mit:
chkconfig --list ntpd
Die Ausgabe zeigt, dass der ntpd Der Dienst ist beim Booten in jedem Runlevel deaktiviert.
Dienst aktivieren
Aktivieren Sie einen Dienst so, dass er beim Booten mit chkconfig [service] on
gestartet wird Befehl. Bestätigen Sie als Nächstes mit <strong>--list</strong>.
, dass der Dienst aktiviert ist
chkconfig [service] on
chkconfig --list [service]
Der on
Die Option wirkt sich auf die Runlevel 2, 3, 4 und 5 aus und startet den ntpd Dienst beim Booten auf diesen Runlevels. Um einen Dienst nur auf einem oder mehreren Runlevels zu aktivieren, führen Sie Folgendes aus:
chkconfig --level <levels> [service] on
Starten Sie beispielsweise den ntpd Dienst auf dem dritten Runlevel und überprüfen Sie die Konfiguration des Dienstes mit:
chkconfig --level 3 ntpd on
chkconfig --list ntpd
Ebenso, um den ntpd einzuschalten Dienst in mehreren Runlevels auf einmal verwenden:
chkconfig --level 235 ntpd on
chkconfig --list ntpd
Dienst deaktivieren
Deaktivieren Sie mit chkconfig [service] off
, dass ein Dienst beim Systemstart gestartet wird Befehl:
chkconfig [service] off
chkconfig --list [service]
Obwohl die off
Variable wirkt sich auch auf die Runlevels 2 bis 5 aus, Benutzer können angeben, in welchen Runlevels ein Dienst deaktiviert werden soll.
Deaktivieren Sie beispielsweise den ntpd Service nur in Runlevel 3 und überprüfen Sie die Ergebnisse mit:
chkconfig --level 3 ntpd off
chkconfig --list ntpd
Dienst hinzufügen
Fügen Sie mit dem folgenden Befehl einen Dienst zum Start in allen Runlevels hinzu:
chkconfig --add [service]
Verwenden Sie beispielsweise --add
Option zum Hinzufügen von ntpd zum Start in allen Runlevels. Verwenden Sie als Nächstes --list
um zu überprüfen, ob der Dienst hinzugefügt wurde:
chkconfig --add ntpd
chkconfig --list ntpd
Der chkconfig
Der Befehl fügt den Dienst hinzu und konfiguriert ihn gemäß den Standardwerten im Init-Skript. Beispiel:ntpd Der Dienst ist standardmäßig in jedem Runlevel deaktiviert.
Hinweis: Der Befehl fügt einen Dienst nur dann hinzu, wenn er verfügbar und installiert ist. Wenn der Dienst nicht installiert wurde, installieren Sie zuerst sein Paket.
Dienst entfernen
Entfernen Sie einen Dienst aus dem Start in allen Runlevels mit dem --del
Möglichkeit:
chkconfig --del [service]
Der --del
Option entfernt den Dienst vom Start, aber der Dienst bleibt im System. Um den Dienst wieder zum Start hinzuzufügen, verwenden Sie daher --add
erneut auswählen.
Dienstkonfiguration zurücksetzen
Um den Ein/Aus-Status eines Dienstes in allen Runlevels wie im Init-Skript angegeben zurückzusetzen, führen Sie Folgendes aus:
chkconfig [service] reset
Die Ausgabe zeigt, dass ntpd kehrt in allen Runlevels zum Standard-Aus-Status zurück.
Fazit
Nachdem Sie dieses Tutorial gelesen haben, wissen Sie, wie Sie chkconfig
verwenden Befehl zum Verwalten von Diensten in älteren Linux-Versionen.
Als Nächstes erfahren Sie, wie Sie systemctl
verwenden Befehl zum Starten, Stoppen und Neustarten von Linux-Diensten auf neueren Linux-Distributionen.