Dienste dauerhaft deaktivieren mit update-rc.d
- puntarenas
- Beiträge: 712
- Registriert: 28.05.2005 15:07:05
Dienste dauerhaft deaktivieren mit update-rc.d
Guten Morgen,
nachdem mein System allzu rund läuft, habe ich mich einfach mal in eine Problematik hineingesteigert, die mich seit längerem ein wenig ärgert. Es hat funktioniert, seit kurzem treibt mich das Problem in den Wahnsinn, ich kann nicht mehr, bitte helft mir!
Ich habe mich bereits mehrfach hingesetzt und per "update-rc.d -f <dienst> remove" nach und nach alle von mir nicht ausdrücklich gewünschten Dienste deaktiviert.
Was mich kirre macht, nach einem Upgrade des entsprechenden Pakets werden die Symlinks wieder hergestellt und der Dienst startet erneut bei jedem Systemstart.
Gibt es denn keine Möglichkeit, daß Debian meine Modifikationen respektiert? Als Beispiel nenne ich einfach mal bittorrent. Ich nutze bittorrent gelegentlich manuell, um freien Projekten ein wenig Bandbreite zu ersparen. Ich benötige bittorrent aber definitiv nicht als Systemdienst. Dennoch setzt sich Debian stets über meine Änderung hinweg und erstellt die Symlinks zum Autostart neu.
Ich bin nahe daran mir ein Script zu basteln, daß alles was nicht auf der Whitelist steht konsequent nach /dev/null verschiebt, aber das kann ja wirklich nicht die Lösung sein.
Gruß
puntarenas
nachdem mein System allzu rund läuft, habe ich mich einfach mal in eine Problematik hineingesteigert, die mich seit längerem ein wenig ärgert. Es hat funktioniert, seit kurzem treibt mich das Problem in den Wahnsinn, ich kann nicht mehr, bitte helft mir!
Ich habe mich bereits mehrfach hingesetzt und per "update-rc.d -f <dienst> remove" nach und nach alle von mir nicht ausdrücklich gewünschten Dienste deaktiviert.
Was mich kirre macht, nach einem Upgrade des entsprechenden Pakets werden die Symlinks wieder hergestellt und der Dienst startet erneut bei jedem Systemstart.
Gibt es denn keine Möglichkeit, daß Debian meine Modifikationen respektiert? Als Beispiel nenne ich einfach mal bittorrent. Ich nutze bittorrent gelegentlich manuell, um freien Projekten ein wenig Bandbreite zu ersparen. Ich benötige bittorrent aber definitiv nicht als Systemdienst. Dennoch setzt sich Debian stets über meine Änderung hinweg und erstellt die Symlinks zum Autostart neu.
Ich bin nahe daran mir ein Script zu basteln, daß alles was nicht auf der Whitelist steht konsequent nach /dev/null verschiebt, aber das kann ja wirklich nicht die Lösung sein.
Gruß
puntarenas
- I.C.Wiener
- Beiträge: 674
- Registriert: 19.08.2003 18:45:35
Aus der Manpage:
Wobei man mit rcconf eine bessere Übersicht hat um zu kontrollieren, welche Dienste sich wieder aktiviert haben.
MfG
Wenn nun aber das Upgrade die Links wieder erstellt, dann erkennt sie rcconf doch auch wieder als "on". Erscheint mir Witzlos.Rcconf gets a list of services from /etc/init.d and looks in the /etc/rc?.d directories to determine whether each service is on or off.
Wobei man mit rcconf eine bessere Übersicht hat um zu kontrollieren, welche Dienste sich wieder aktiviert haben.
MfG
Who is... LAIN?
- finupsen
- Beiträge: 1327
- Registriert: 21.04.2004 20:07:05
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
> Wenn nun aber das Upgrade die Links wieder erstellt, dann erkennt sie rcconf doch auch wieder als "on".
nö... ist bei mir noch nie passiert das sich nach einem upgrade der zustand ändert.
Kann mich natürlich auch irren ...
aber ich denke mal die maintainer achten darauf (/var/lib/rcconf/services)... oder ?
nö... ist bei mir noch nie passiert das sich nach einem upgrade der zustand ändert.
Kann mich natürlich auch irren ...
aber ich denke mal die maintainer achten darauf (/var/lib/rcconf/services)... oder ?
Niemand hat vor eine zentrale Datensammelbehörde aufzubauen. Es handelt sich vielmehr um dezentrale IT-Systeme die miteinander vernetzt werden.
... und Wasser ist naß.
... und Wasser ist naß.
- I.C.Wiener
- Beiträge: 674
- Registriert: 19.08.2003 18:45:35
Dass sich Dienste nach einem Upgrade aufeinmal wieder starten, habe ich auch schon mitbekommen. Ob das die Eusnahme ist, weiß ich nicht, da ich es noch nie richtig beobachtet habe, ob es auch schon Upgrades gab, nach denen der Dienst deaktiviert blieb. Mir fehlt also die Gegenprobe. 
Sollten sich die Dienste aber wieder in rc*.d eintragen, kann rcconf das wohl auch nciht verhindern. Es merkt sich ja nicht, was es beim letzten Mal gemacht hat. Es kennt nur den Momentanstand. So lese ich das aus der Manpage raus.
MfG

Sollten sich die Dienste aber wieder in rc*.d eintragen, kann rcconf das wohl auch nciht verhindern. Es merkt sich ja nicht, was es beim letzten Mal gemacht hat. Es kennt nur den Momentanstand. So lese ich das aus der Manpage raus.
MfG
Who is... LAIN?
- puntarenas
- Beiträge: 712
- Registriert: 28.05.2005 15:07:05
Zunächst einmal vielen Dank, rcconf hatte ich schon einmal kurz auf meinem System, habe es aber falsch eingeschätzt. Tatsächlich ist es ein sehr nettes Tool, auch wenn mir einige Dinge noch nicht so ganz klar sind.
Zunächst einmal habe ich mit "update-rcconf-guide" die Beschreibungen zu den einzelnen Diensten aktualisiert. rcconf zeigt diese dann auch brav an, allerdings haben sich die Maintainer teilweise äußertst vielsagende Beschreibungen wie "blablubb - blablubb executes the blablubb command". einfallen lassen, meine Hochachtung
Zu meiner Verwunderung zeigte rcconf jedoch nur einen kleinen Teil der unter init.d vorhandenen Dienste an. Mein Beispiel von oben, bittorrent, tauchte somit nicht in der Liste auf.
Möglicherweise habe ich mit meinen manuellen Aufrufen von "update-rc.d" irgendetwas zerschossen, jedenfalls erschien bittorrent nachdem ich nochmal all seine Symlinks gelöscht habe dann auch in der Liste bei rcconf. Ähnlich ging es mit discover, x11-common und einigen weiteren Diensten.
Jetzt habe ich also erst einmal alle Symlinks von für mich relevanten, weil definitiv unnützen Diensten (soweit ich Laie das beurteilen kann) gelöscht und kann was für mich relevant ist in rcconf an- und abschalten.
Eine Frage bleibt natürlich, was passiert wenn ein Upgrade einmal wieder neue Symlinks erzeugt. In "/var/lib/rcconf/services" wird zwar "the service number data" gespeichert, aber mir scheint es geht vielmehr darum, den Symlink nach manuellem Deaktivieren wieder mit der richtigen Startpriorität aktivieren zu können.
Gegen amoklaufende Upgrades wird rcconf wohl auch nichts tun können, schließlich wird das Tool selbst ja nicht bei jedem Systemstart aktiv, sondern nur wenn ich es aufrufe und auch dann arbeitet es nur auf Befehl.
Mein vorläufiges Fazit bleibt erst einmal betrüblich, die ganze Geschichte mit den Runlevels und Diensten ist in Debian, ääähm - nun ja, sagen wir bestenfalls semioptimal gelöst. Das können andere besser, ein kleiner Fleck auf der sonst strahlend weisen Weste.
Gruß
puntarenas
Zunächst einmal habe ich mit "update-rcconf-guide" die Beschreibungen zu den einzelnen Diensten aktualisiert. rcconf zeigt diese dann auch brav an, allerdings haben sich die Maintainer teilweise äußertst vielsagende Beschreibungen wie "blablubb - blablubb executes the blablubb command". einfallen lassen, meine Hochachtung

Zu meiner Verwunderung zeigte rcconf jedoch nur einen kleinen Teil der unter init.d vorhandenen Dienste an. Mein Beispiel von oben, bittorrent, tauchte somit nicht in der Liste auf.
Möglicherweise habe ich mit meinen manuellen Aufrufen von "update-rc.d" irgendetwas zerschossen, jedenfalls erschien bittorrent nachdem ich nochmal all seine Symlinks gelöscht habe dann auch in der Liste bei rcconf. Ähnlich ging es mit discover, x11-common und einigen weiteren Diensten.
Jetzt habe ich also erst einmal alle Symlinks von für mich relevanten, weil definitiv unnützen Diensten (soweit ich Laie das beurteilen kann) gelöscht und kann was für mich relevant ist in rcconf an- und abschalten.
Eine Frage bleibt natürlich, was passiert wenn ein Upgrade einmal wieder neue Symlinks erzeugt. In "/var/lib/rcconf/services" wird zwar "the service number data" gespeichert, aber mir scheint es geht vielmehr darum, den Symlink nach manuellem Deaktivieren wieder mit der richtigen Startpriorität aktivieren zu können.
Gegen amoklaufende Upgrades wird rcconf wohl auch nichts tun können, schließlich wird das Tool selbst ja nicht bei jedem Systemstart aktiv, sondern nur wenn ich es aufrufe und auch dann arbeitet es nur auf Befehl.
Mein vorläufiges Fazit bleibt erst einmal betrüblich, die ganze Geschichte mit den Runlevels und Diensten ist in Debian, ääähm - nun ja, sagen wir bestenfalls semioptimal gelöst. Das können andere besser, ein kleiner Fleck auf der sonst strahlend weisen Weste.
Gruß
puntarenas
- puntarenas
- Beiträge: 712
- Registriert: 28.05.2005 15:07:05
Die Paketmaintainer sollen/müssen update-rc.d verwenden (Debian Policy)
update-rc.d verändert diese Links jedoch nicht, wenn mindestens ein Link bereits existiert:
rcconf berücksichtigt dies auch:
Gruß
gms
update-rc.d verändert diese Links jedoch nicht, wenn mindestens ein Link bereits existiert:
Daher brauchst du also nur einen Link übrig lassen, damit deine Konfiguration durch ein Update nicht verändert wird.man update-rc.d hat geschrieben: If any files /etc/rcrunlevel.d/[SK]??name already exist then update-
rc.d does nothing. This is so that the system administrator can rear-
range the links, provided that they leave at least one link remaining,
without having their configuration overwritten.
rcconf berücksichtigt dies auch:
Code: Alles auswählen
root@gms1:~# find /etc -name "K??ssh*"
/etc/rc0.d/K00ssh
/etc/rc1.d/K00ssh
/etc/rc2.d/K00ssh
/etc/rc3.d/K00ssh
/etc/rc4.d/K00ssh
/etc/rc5.d/K00ssh
/etc/rc6.d/K00ssh
gms
- novalix
- Beiträge: 1909
- Registriert: 05.10.2005 12:32:57
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: elberfeld
hi puntarenas,
versuch doch mal folgendes:
1. du entfernst die symlinks des start-scripts, wie du es oben angegeben hast mit
2. du aenderst die startskripte des dienstes so, dass er in jedem runlevel auf kill zeigt
(der punkt gehoert zur syntax)
dann kannst du mit <aufruf-zur-paketinstallation-deiner-wahl
> --reinstall <der-test-dienst>
ausprobieren ob 's klappt.
bei diensten, die du hin und wieder haendisch starten willst, musst du dann allerdings vorher die policy wieder aendern (zb auf die defaults zuruecksetzen)
das ist wohl eher 'ne sledgehammer-methode und geht bestimmt auch eleganter. aber:
"es kommt der tag, da will die saege saegen"
ciao, niels
versuch doch mal folgendes:
1. du entfernst die symlinks des start-scripts, wie du es oben angegeben hast mit
Code: Alles auswählen
update-rc.d -f <dienst-der-nicht-laufen-soll> remove
Code: Alles auswählen
update-rc.d <dienst-der-niemals-starten-soll> stop 0 0 1 2 3 4 5 6 .
dann kannst du mit <aufruf-zur-paketinstallation-deiner-wahl

ausprobieren ob 's klappt.
bei diensten, die du hin und wieder haendisch starten willst, musst du dann allerdings vorher die policy wieder aendern (zb auf die defaults zuruecksetzen)
Code: Alles auswählen
update-rc.d <dienst-der-jetzt-doch-laufen-soll> defaults
"es kommt der tag, da will die saege saegen"

ciao, niels
Das Wem, Wieviel, Wann, Wozu und Wie zu bestimmen ist aber nicht jedermannns Sache und ist nicht leicht.
Darum ist das Richtige selten, lobenswert und schön.
Darum ist das Richtige selten, lobenswert und schön.