GNU/Linux >> LINUX-Kenntnisse >  >> Linux

7 Beispiele für chkconfig-Befehle unter Linux – Dienste hinzufügen, entfernen, anzeigen, ändern

Der Befehl Chkconfig wird verwendet, um Dienste einzurichten, anzuzeigen oder zu ändern, die so konfiguriert sind, dass sie während des Systemstarts automatisch gestartet werden.

Dieser Artikel enthält 7 praktische Beispiele, die die Verwendung des Befehls chkconfig erläutern.

1. Überprüfen Sie den Startstatus des Dienstes im Shell-Skript

Wenn Sie den Befehl chkconfig nur mit dem Dienstnamen ausführen, wird „true“ zurückgegeben, wenn der Dienst für den Start konfiguriert ist. Das folgende Code-Snippet zeigt, wie Sie mit einem Shell-Skript prüfen können, ob ein Dienst für den Start konfiguriert ist oder nicht.

# vi check.sh
chkconfig network && echo "Network service is configured"
chkconfig junk && echo "Junk service is configured"

# ./check.sh
Network service is configured

Sie können auch gezielt prüfen, ob es für einen bestimmten Runlevel konfiguriert ist oder nicht.

# vi check1.sh
chkconfig network --level 3 && echo "Network service is configured for level 3"
chkconfig network --level 1 && echo "Network service is configured for level 1"

# ./check1.sh
Network service is configured for level 3

2. Aktuellen Status der Startdienste anzeigen

Die Option –list zeigt alle Dienste mit dem aktuellen Status der Startkonfiguration an.

# chkconfig --list
abrtd   0:off   1:off   2:off   3:on    4:off   5:on    6:off
acpid   0:off   1:off   2:off   3:off   4:off   5:off   6:off
atd     0:off   1:off   2:off   3:on    4:on    5:on    6:off
...

Gehen Sie wie folgt vor, um nur die Dienste anzuzeigen, die für den Start während des Systemstarts konfiguriert sind. Bitte beachten Sie, dass davon ausgegangen wird, dass Ihre Systemstartstufe 3 ist.

chkconfig --list | grep 3:on

Hinweis :Informationen zum Anzeigen aller verfügbaren System-Runlevels finden Sie unter 6 Phasen des Linux-Startvorgangs

Um die Startkonfiguration eines bestimmten Dienstes anzuzeigen, grep die Ausgabe von „chkconfig –list“ für diesen Dienst.

chkconfig --list | grep network

3. Fügen Sie dem Startup einen neuen Dienst hinzu

Verwenden Sie die Option –add, um einen bestimmten Dienst zur Liste der Dienste hinzuzufügen, die während des Systemneustarts gestartet werden.

Das folgende Beispiel zeigt, wie Sie der Liste der zu startenden Dienste einen neuen Dienst (z. B. iptables) hinzufügen. Der Befehl „chkconfig –add“ schaltet Level 2, 3, 4 und 5 automatisch ein, wie unten gezeigt.

# chkconfig --list | grep iptables

# chkconfig --add iptables

# chkconfig --list | grep iptables
iptables       0:off   1:off   2:on    3:on    4:on    5:on    6:off

Hinweis:„chkconfig –add“ fügt nur einen bestehenden Dienst zur Startliste hinzu. Wenn der Dienst nicht vorhanden ist, sollten Sie ihn zuerst installieren, bevor Sie ihn zur Systemstartliste hinzufügen. Obwohl dies ziemlich offensichtlich ist, ist es erwähnenswert, da ein Neuling diesen Fehler machen könnte.

4. Einen Dienst aus der Startliste entfernen

Das folgende Beispiel zeigt, dass ip6tables-Dienste für den Start konfiguriert sind.

# chkconfig --list | grep ip6tables
ip6tables       0:off   1:off   2:off   3:on   4:off   5:off   6:off

Um es aus der Startliste zu entfernen, verwenden Sie die Option –del wie unten gezeigt.

# chkconfig --del ip6tables

# chkconfig --list | grep ip6tables

5. Aktivieren oder Deaktivieren eines Dienstes für einen ausgewählten Runlevel

Manchmal möchten Sie vielleicht nicht den gesamten Dienst löschen. Stattdessen möchten Sie vielleicht nur das Flag für einen bestimmten Runlevel (für einen bestimmten Dienst) ein- oder ausschalten.

Das folgende Beispiel schaltet den nfserver-Dienst für Level 5

aus
# chkconfig --level 5 nfsserver off

Sie können auch mehrere Ebenen kombinieren. Das folgende Beispiel schaltet nfsserver für Level 3 und 5 aus.

# chkconfig --level 35 nfsserver off

6. Skriptdateien unter rc.d-Unterverzeichnissen

Immer wenn Sie einen Dienst zur chkconfig-Steuerung hinzufügen oder daraus entfernen, geschieht Folgendes in den Unterverzeichnissen /etc/rc.d.

  • Wenn der Befehl chkconfig –add ausgeführt wird, erstellt er eine symbolische Linkdatei, um den Dienst im entsprechenden rc-Verzeichnis zu starten und zu stoppen.
  • Wenn der Befehl chkconfig –del ausgeführt wird, entfernt er die symbolische Linkdatei aus dem entsprechenden rc-Verzeichnis.

Das folgende Beispiel zeigt, dass xinetd sowohl für Runlevel 3 als auch 5 aktiviert ist.

xinetd hat also zwei Dateien im Verzeichnis rc3.d und zwei Dateien im Verzeichnis rc5.d. Die Datei, die mit K beginnt, wird beim Herunterfahren verwendet (K steht für kill). Die Datei, die mit S beginnt, wird beim Start verwendet (S steht für Start).

# chkconfig --list | grep xinetd
xinetd                    0:off  1:off  2:off  3:on   4:off  5:on   6:off
xinetd based services:

# cd /etc/rc.d/rc3.d
# ls | grep xinetd
K08xinetd
S14xinetd

# cd /etc/rc.d/rc5.d

# ls | grep xinetd
K08xinetd
S14xinetd

7. rcx.d-Verzeichnisänderungen für den Vorgang „Hinzufügen“

Wenn Sie der chkconfig-Steuerung einen neuen Dienst hinzufügen, werden die Standardausführungsebenen für diesen Dienst automatisch aktiviert und Dateien werden unter den entsprechenden rcx-Verzeichnissen erstellt.

Wenn beispielsweise der nfsserver-Dienst nicht im chkconfig-Steuerelement vorhanden ist, sind keine Startdateien des nfsserver-Dienstes in den Verzeichnissen /etc/rc.d/rc*.d vorhanden, wie unten gezeigt.

# chkconfig  --list | grep nfsserver
nfsserver                 0:off  1:off  2:off  3:off  4:off  5:off  6:off

# ls /etc/rc.d/rc3.d | grep nfsserver

# ls /etc/rc.d/rc5.d | grep nfsserver

Nachdem Sie den nfsserver-Dienst hinzugefügt haben, sehen Sie die symbolischen Links unter diesen Verzeichnissen.

# chkconfig --add nfsserver
nfsserver                 0:off  1:off  2:off  3:on   4:off  5:on   6:off

# cd  /etc/rc.d/rc3.d
# ls -l | grep nfsserver
lrwxrwxrwx 1 root root 12 2011-06-18 00:52 K08nfsserver -> ../nfsserver
lrwxrwxrwx 1 root root 12 2011-06-18 00:52 S14nfsserver -> ../nfsserver

# cd /etc/rc.d/rc5.d
# ls -l | grep nfsserver
lrwxrwxrwx 1 root root 12 2011-06-18 00:52 K08nfsserver -> ../nfsserver
lrwxrwxrwx 1 root root 12 2011-06-18 00:52 S14nfsserver -> ../nfsserver

Wenn Sie den Dienst entweder mit der Option –del oder der Option –level deaktivieren, wird die entsprechende symbolische Linkdatei im Verzeichnis rcx.d wie unten gezeigt gelöscht.

# chkconfig --level 5 nfsserver off

# ls /etc/rc.d/rc5.d  | grep nfsserver

Linux
  1. 7 Beispiele für Linux-df-Befehle

  2. 8 Linux TR-Befehlsbeispiele

  3. 5 Beispiele für Linux-Touch-Befehle (So ändern Sie den Dateizeitstempel)

  4. rm-Befehlsbeispiele unter Linux

  5. ps-Befehlsbeispiele in Linux

wc Linux-Befehl mit Beispielen

10 Beispiele für iftop-Befehle unter Linux

Linux Route Add-Befehl mit Beispielen

7 Beispiele für Linux-Route-Befehle (So fügen Sie eine Route unter Linux hinzu)

id-Befehlsbeispiele in Linux

Linux-chkconfig-Befehl mit Beispielen