Grundlegende Linux-Befehle zum Service-Management mit System V und systemd

Auch Windows-Administratoren kommen manchmal mit Linux in Berührung. Mit diesen Befehlen gelingt der Einstieg in System V und systemd.

Egal ob Windows-Administratoren mit nur wenigen Linux-Servern oder Neueinsteiger, die gerade erst mit Linux beginnen: Die Grundlagen zum Starten, Stoppen und Überprüfen von Linux-Services sollten alle beherrschen, vor allem da jüngste Neuerungen die Sache leider etwas verkompliziert haben.

Viele Komponenten, die im Zusammenhang mit Linux zum Einsatz kommen, wurden noch in den alten Unix-Tagen entwickelt. Eine davon ist System V, mit dem Linux-Dienste gestartet werden können. 

Bis vor kurzem war dies die Standardmethode zum Starten von Linux-Services. Sowohl in System V als auch in der neuesten Verbesserung Upstart werden Dienste mit Init-Skripten verwaltet. Diese eher komplizierten Shell-Skripte liegen im Verzeichnis /etc/init.d und werden zum Starten, Anhalten und Überwachen von Linux-Diensten verwendet.

Weitere Artikel zum Linux-Management:

Linux-Einführung für Windows-Admins

Die 50 wichtigsten Kommandozeilen-Befehle für Linux

Das beste Server-Betriebssystem: Windows vs. Linux

Zum Service-Management mit System V muss der entsprechende Befehl gefolgt vom Namen des Dienstes und der gewünschten Aktion eingegeben werden. Der Befehl service httpd status beispielsweise ermöglicht die Überwachung der momentanen Verfügbarkeit des httpd-Webservers. Dieses Verfahren funktioniert auf den meisten Linux-Distributionen, die noch vor dem letzten Jahr veröffentlicht wurden.

System V verwendet sogenannte Runlevel um festzulegen, welche Services beim Hochfahren eines Servers gestartet werden sollen. Ein einzelnes Runlevel gibt dabei anhand einer Nummer den Status an, in dem ein Server gestartet wird. Runlevel 5 beispielsweise startet mit einer vollständigen grafischen Benutzeroberfläche, während Runlevel 3 nur eine textbasierte Shell liefert.

Um einem Service ein Runlevel zuzuordnen, wird der Befehl chkconfig gefolgt vom gewünschten Service und dem Status „on“ oder „off“ genutzt. Beispielsweise also chkconfig httpd on. Im Normalfall weiß der Service selbstständig, in welchem Runlevel er ausgeführt werden soll, wodurch keine weiteren Angaben notwendig sind.

Systemd erweitert Management-Möglichkeiten von System V

Vor allem im letzten Jahr hat sich aber immer mehr Systemd zur Service-Verwaltung durchgesetzt. Systemd ist eine wesentlich cleverere Methode, weil hier die Services selbstständig starten, sobald sie gebraucht werden. Zum Service-Management wird bei systemd der Befehl systemctl gefolgt von der auszuführenden Aktion sowie dem gewünschten Service verwendet. Ein Beispiel für einen systemctl-Befehl wäre systemctl status httpd, das Ergebnis dieses Befehls könnte dann wie folgt aussehen:

[root@localhost ~]# systemctl status httpd

httpd.service - The Apache HTTP Server

Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled)

Active: active (running) since Wed 2014-12-17 06:06:21 EST; 3s ago

Main PID: 63117 (httpd)

Status: "Processing requests..."

CGroup: /system.slice/httpd.service

├─63117 /usr/sbin/httpd -DFOREGROUND

├─63118 /usr/sbin/httpd -DFOREGROUND

├─63119 /usr/sbin/httpd -DFOREGROUND

├─63120 /usr/sbin/httpd -DFOREGROUND

├─63121 /usr/sbin/httpd -DFOREGROUND

└─63122 /usr/sbin/httpd -DFOREGROUND

Dec 17 06:06:21 localhost.localdomain httpd[63117]: AH00558: httpd: Could not reliably determine the se...age

Dec 17 06:06:21 localhost.localdomain systemd[1]: Started The Apache HTTP Server.

Da systemd direkt mit dem Logging-Service journald verbunden ist, zeigt systemctl sehr detaillierte Informationen über den aktuellen Service-Status an. Während service httpd status also lediglich anzeigt, ob der Service aktiv ist oder nicht, bietet systemctl status httpd weitreichendere Informationen zum tatsächlichen Service-Zustand.

Das Starten und Beenden von Services mit systemctl ist dabei äußerst einfach: systemctl start httpd beispielsweise startet den httpd-Service, systemctl stop htttpd beendet ihn wieder. Systemd benötigt auch keine Runlevel mehr. Um Services zu verwalten, reicht es, dem Server einfach per systemctl enable servicename oder systemctl disable servicename mitzuteilen, ob der Service erreichbar sein soll. Wenn beispielsweise ein Webserver nach einem Server-Reboot verfügbar sein soll, würde der entsprechende Befehl hierzu systemctl enable httpd lauten.

Folgen Sie SearchStorage.de auch auf Facebook, Twitter und Google+!

Fortsetzung des Inhalts unten

Erfahren Sie mehr über Serverbetriebssysteme

- GOOGLE-ANZEIGEN

ComputerWeekly.de

Close