Dienste

Dienste

Dienste auf Linux einstellen

Runlevel werden mit chkconfig eingestellt.
Das Auflisten der Standard-Runlevels gibt es folgenden Befehl:

Dienste anzeigen

Serviceliste anzeigen lassen
chkconfig --list

Dieser Befehl listet alle Runlevels auf. Um diese jetzt auf den Apache-Dämon zu begrenzen, kann man ein grep als pipe anschließen:

Anzeige der Services httpd aus Serviceliste filtern
chkconfig --list | grep httpd

Nun werden nur die Runlevels mit httpd angezeigt.

Dienste hinzufügen und löschen

Mit

Service aus Liste löschen
chkconfig --del <service>

bzw.

Service hinzufügen
chkconfig --add <service>

läßt sich der <service> hinzufügen bzw. löschen.

Um einen neuen Service hinzuzufügen, müssen die Methoden start(), stop() sowie status() implementiert sein und der Parameter chkconfig gesetzt sein.

Skriptkopf eines Services
#! /bin/bash
#
# tomcat      This shell script starts and stops the tomcat.
#
# chkconfig:   - 81 19
# description: Starts and stops the Tomcat7.
# processname: backend
#
####################### Begin of Function Section ##########################################
...

In diesem Beispiel ist der chkconfig-Parameter gesetzt mit

aktuelles Beispiel
chkconfig: - 81 19

Dieser Parameter legt die Servicereihenfolge beim Startvorgang bzw. Stopvorgang fest, also den Zeitpunkt, wann der Service gestartet wird, wenn der Server neu gestartet wurde bzw. an welcher Stelle der Service gestoppt wird, wenn der Server gestoppt wird.

Der erste Parameter zeigt die Runlevel an, unter dem der Service gestartet werden soll (- heißt, er wird in keinem Level gestartet).
Der zweite Parameter zeigt die Startpriorität (81) an, der dritte die Stoppriorität (19).

ein weiteres Beispiel
chkconfig: 2345 65 35

Bei folgendem Beispiel wird der Service in den Runlevel 2,3,4 und 5 gestartet, hat als Startpriorität 65 und als Stoppriorität 35 gesetzt bekommen.

Dienste aktivieren und deaktivieren

Die folgenden Befehle ermöglichen die Aktivierung bzw. Deaktivierung der Services:

Service aus- und anschalten
chkconfig <service> off
chkconfig <service> on

Diese Befehle bewirken, daß beim nächsten Start des Servers die Dienste gestartet oder nicht gestartet werden, derzeitige Einstellungen werden am Server nicht aktualisiert.
Das System startet die Dienste mit den Standard-Runlevels, welche üblicherweise in Init-Skripts, z.B. unter /etc/init.d/ abgelegt sind gestartet. Steht bei dem Dienst beispielsweise im Skript

# Default-Start:  2 3 5

und man möchte von diesen Werten abweichen, so muss über level dieses geändert werden.

Runlevel der Dienste ändern

# chkconfig --level 2 3 4 cups on
# chkconfig --list cups
cups   0:off  1:off  2:on  3:on  4:on  5:off  6:off

mehr Informationen