Dienste unter Debian und Ubuntu
Geschrieben von: Markus Junginger in Linux, tags: Apache, Booten, Debian, rcconf, Runlevel, Shell, UbuntuDie Handhabung von Diensten (Services) auf Shell-Ebene ist für Debian und Ubuntu Neulinge nicht immer intuitiv. Hier der Versuch, das Wichtigste zusammenzufassen:
- Dienste manuell starten und stoppen
- Runlevel beim Bootvorgang
- Dienste automatisch beim Booten starten oder deaktivieren (rcconf)
Im Verzeichnisen /etc/init.d sind Skripte für Dienste hinterlegt, die jeweils zum Starten und Beenden eines Dienstes benutzt werden. Diese müssen unter Debian als root beziehungsweise unter Ubuntu mit sudo gestartet werden. Zum Beispiel startet man Apache 2 mit /etc/init.d/apache2 start. Anstatt start gibt es unter anderem auch restart und stop als Kommando für das Skript um den Dienst zu stoppen oder neuzustarten.
Linux unterteilt den Bootvorgang in Runlevel, die nacheinander ausgeführt werden: S, 1, 2(,..). Runlevel 2 ist bie Debian und Ubuntu der Standard Nutzer-Level, unter dem zum Beispiel auch Apache läuft. Runlevel 0 ist für das Herunterfahren relevant. In den Verzeichnissen /etc/rcX.d ist hinterlegt welche Dienste in welchen Runlevels (X=S,1,2,…) gestartet/gestoppt werden. Mit ls /etc/rc2.d/ kann man sich die Dienste für Runlevel 2 beschreiben lassen. Ein vorangestelltes S bedeutet hier, dass der Dienst tatsächlich gestartet wird; ein K steht für das Beenden (oder das “Nicht-Starten”) eines Dienstes. Die zweistellige Zahl nach dem S oder K beschreibt die Reihenfolge während des Startens oder Herunterfahrens. (K Wert=100-S). Man könnte nun die zu startenden Dienste durch Umbenennen in /etc/rcX.d oder das Kommando update-rc.d verwenden. Das Kommando rcconf ist im Umgang mit Anwendungs-Diensten (Runlevel 2) jedoch wesentlich einfacher zu handhaben, wie wir gleich sehen werden:

Nach der Installation (apt-get install rcconf) ruft man das Kommando rcconf einfach parameterlos auf. Es öffnet sich eine einfache Oberfläche, die alle vorhandenen Dienste darstellt. Ein Sternchen [*] heißt dabei, dass der Dienst beim Booten automatisch gestartet wird. Mit der Leertaste kann man die Dienste ganz einfach aktivieren oder deaktivieren. Mit der Tab Taste kommt man weiter zu “OK” um die Änderungen zu Speichern. Die Änderungen werden beim nächsten Startvorgang übernommen, den man z.B. durch das Kommando reboot manuell auslösen kann.
Aus Sicherheitsgründen empfiehlt es sich nicht benutzte Dienste zu deaktivieren. Nebenbei ist das natürlich auch Ressourcen-schonender, was vor allem bei kleinen Servern/vServern eine Rolle spielen kann.



Einträge (RSS)
Interessant hierzu ist sicherlich auch dieser Wiki-Eintrag: http://wiki.ubuntuusers.de/Dienste
Zur manuellen Verwaltung von den Diensten kann ich nur sysv-rc-conf empfehlen, da man alle Run Levels damit verwalten kann.
Aber wichtig ist auch der Hinweis aus dem obigen Wiki-Beitrag unter “Verknüpfungen entschärfen”:
Alleine dieser Schritt entfernt den Dienst leider nicht für immer. Bei einem Update des entsprechenden Pakets (hier also pcmciautils bzw. pcmcia-cs) merkt die Paketverwaltung, dass diese Links nicht mehr existieren und legt sie wieder an, da das System nun davon ausgeht, dass das Paket zum ersten Mal installiert werden würde. Der Weg, um einen Dienst ein für alle Mal zu deaktivieren besteht daher darin, die Verknüpfungen nur zu entschärfen.
Regardo, Danke für die Ergänzung. Eine kleine Anmerkung dazu: Mit rcconf werden die “Verknüpfungen entschärft”; der Hinweis im Wiki bezieht sich das auf update-rc.d remove.
Das Schöne an rcconf fand ich, dass es nur Runlevel 2 verwaltet und damit noch einfacher und sicherer zu bedienen ist. Für die typischen Anwendungsfälle (Web/Mail/MySQL/… aktivieren oder deaktivieren) sollte das reichen. Bei sysv-rc-conf heißt es ja dann auch: “Hierbei sollte man aber genau wissen, was man tut, falls man Änderungen vornimmt!”.
hallo hab mal ne frage ich betreibe einen ubunuserver 8.04 LTS den konnte ich bislang immer im browser über seine ip bzw die weseite erreichen nun hat jemand (ich wars nicht) vmwar da noch drauf gespielt und so wie es ausschaut hat mir vmware den port 80 für den webserver geklaut zumindest kann ich nun im broser die seite nicht mehr abrufen auch nicht wenn ich die ip angebe über ssh kann ich ihn natürlich erreichen. wie bekomm ich das wieder hin???? Und nebenbei noch wie ntfernt man Pakete die mit dem Befehl easy_istall installiert wurden ich bekomm da einige abhängigkeiten nicht mehr raus. Wäre echt super wenn jemand rat wüste!!!
rcconf macht unter lenny nur probleme! VORSICHT! kann man sich damit gut ins Bein schießen!
[Inhalt moderiert]