Das Abschalten eines Daemons ist sehr einfach. Entweder Sie entfernen
das Paket, das das Programm für diesen Dienst anbietet, oder Sie
entfernen oder benennen die Startlinks unter `/etc/rc${runlevel}.d/'
um. Wenn Sie sie umbenennen, stellen Sie sicher, dass sie nicht mehr
mit einem 'S' beginnen, damit sie nicht von `/etc/init.d/rc'
ausgeführt werden. Entfernen Sie nicht alle verfügbaren Links, denn
sonst wird das Paketverwaltungssystem sie bei der nächsten
Paketaktualisierung wieder herstellen. Gehen Sie also sicher, dass
zumindest ein Link übrig bleibt (typischerweise ein 'K'-Link, 'K'
steht für 'kill'). Zusätzliche Informationen finden Sie im Abschnitt
Anpassen des Bootvorgangs
(
http://www.debian.org/doc/manuals/reference/ch-system#s-custombootscripts)
der Debian-Referenz (2. Kapitel - Debian-Grundlagen).
Sie können diese Links manuell entfernen oder Sie benutzen
`update-rc.d' (siehe auch update-rc.d(8)). So können Sie zum Beispiel
einen Dienst in den Multi-User-Runleveln abschalten:
# update-rc.d stop <XX> 2 3 4 5 .
Wobei _XX_ eine Zahl ist, die bestimmt, wann die Stop-Aktion für
diesen Dienst ausgeführt wird. Bitte beachten Sie, dass `update-rc.d
-f <Dienst> remove' nicht korrekt arbeiten wird, wenn Sie _nicht_
`file-rc' benutzen, da _alle_ Verknüpfungen entfernt werden. Nach
einer Neuinstallation oder einem Upgrade dieses Paketes werden diese
Verknüpfungen neu angelegt (was Sie vermutlich nicht wollen). Wenn
Sie denken, dass dies nicht sehr intuitiv ist, haben Sie
wahrscheinlich recht (siehe Bug 67095 (
http://bugs.debian.org/67095)).
Aus der Manpage:
If any files /etc/rcrunlevel.d/[SK]??name already exist then
update-rc.d does nothing. This is so that the system administrator
can rearrange the links, provided that they leave at least one
link remaining, without having their configuration overwritten.
Wenn Sie `file-rc' benutzen, werden alle Informationen über das
Starten von Diensten durch eine gemeinsame Konfigurationsdatei
verarbeitet und sogar nach der Deinstallation von Paketen beibehalten.
Sie können das TUI (Text User Interface, textbasierte
Benutzungsoberfläche) des Paketes `sysv-rc-conf' benutzen, um all
diese Änderungen einfach zu erledigen (`sysv-rc-conf' arbeitet sowohl
mit `file-rc' als auch mit normalen System-V-Runleveln). Es gibt auch
vergleichbare GUIs für Desktop-Systeme. Sie können auch die
Befehlszeile von `sysv-rc-conf' verwenden:
# sysv-rc-conf <foobar> off
Der Vorteil dieses Werkzeugs ist, dass die rc.d-Links wieder auf den
Status zurückgesetzt werden, die sie vor dem Aufruf von »off« hatten,
wenn Sie den Dienst wieder aktivieren mit:
# sysv-rc-conf <foobar> on
Andere (nicht empfohlene) Methoden zum Abschalten eines Dienstes sind:
* Benennen Sie die Skriptdatei (`/etc/init.d/<Dienst>') um (zum
Beispiel in `/etc/init.d/OFF.<Dienst>'). Da das Verweise, die
auf kein Ziel verweisen (dangling symlinks), erzeugt, werden beim
Booten Fehlermeldungen erzeugt werden.
* Entfernen Sie das Ausführungsrecht von der Datei
`/etc/init.d/<Dienst>'. Auch das wird beim Booten
Fehlermeldungen verursachen.
* Editieren der Datei `/etc/init.d/<Dienst>', so dass sich das
Skript sofort beendet, sobald es gestartet wird, indem Sie die
Zeile `exit 0' am Anfang einfügen oder den
`start-stop-daemon'-Abschnitt auskommentieren. Falls Sie dies
tun, können Sie das Skript nicht später dazu verwenden, den
Dienst von Hand zu starten.
Jedoch handelt es sich bei allen Dateien unter `/etc/init.d' um
Konfigurationsdateien und sollten daher bei einer Paketaktualisierung
nicht überschrieben werden.
Sie können im Gegensatz zu anderen (UNIX-)Betriebssystemen Dienste
unter Debian nicht abschalten, indem Sie die Dateien unter
`/etc/default/<Dienst>' modifizieren.