Stoppen des Ladens von Daemons beim Booten

9

Ich möchte verhindern, dass einige Dämonen beim Booten geladen werden, insbesondere squid3. Was ist der beste Weg, dies zu tun?

Nixnotwin
quelle
+1 perfekt formuliert für jemanden, der nach der Antwort auf diese Frage sucht.
Msw

Antworten:

7

Zu diesem Zweck können Sie das Dienstprogramm chkconfig verwenden.

sudo apt-get install chkconfig

Um den Run Level Status von Squid zu überprüfen, können Sie diesen Befehl ausführen:

 chkconfig --list | grep squid

Dies gibt ungefähr Folgendes aus:

squid           0:off   1:off   2:on    3:on    4:on    5:on    6:off

Um den Tintenfisch in allen Laufstufen auszuschalten, können Sie diesen Befehl verwenden:

sudo chkconfig  squid off

 chkconfig --list | grep squid

squid           0:off   1:off   2:off   3:off   4:off   5:off   6:off

Um Squid in einem bestimmten Run-Level auszuschalten, können Sie diesen Befehl verwenden:

 chkconfig  --level 3  squid off
aneeshep
quelle
Wir haben 7 Stufen von (0 - 6). Was sind diese Stufen? Können Sie uns das erklären?
karthick87
@ karthik87: Hier ist ein schöner Artikel über Linux Run Levels. Dies wird Ihnen helfen: comptechdoc.org/os/linux/howlinuxworks/linux_hlrunlevels.html
aneeshep
Was ist mit Upstart-Skripten?
Javier Rivera
3

System-Daemons können entweder ältere SysV-Init-Skripte oder den neueren Upstart verwenden.

Für Sysv-Skripte gibt es mehrere Verwaltungstools. Eines dieser Tools ist "sysv-rc-conf" aus dem Paket "sysv-rc-conf". Installieren Sie es und starten Sie es vom Terminal aus.

In Bezug auf Upstart gibt es meines Wissens noch kein Verwaltungstool. Sie müssen das entsprechende Skript manuell aus / etc / init umbenennen, z.

mv /etc/init/ufw.conf /etc/init/ufw.conf.disabled

Squid3 verwendet Sysv-Init-Skripte. Sie können es mit sysv-rc-conf deaktivieren.

João Pinto
quelle
1
Nachtrag: Wenn Sie Ihren Startjob verschieben, können Sie ihn nicht mehr manuell starten. Es ist wahrscheinlich besser, den "Start on" -Teil in der .conf-Datei einfach zu kommentieren.
Htorque
2

Squid verwendet das alte Init-System, daher sollte dieser Befehl den Trick ausführen : sudo update-rc.d -f squid3 remove.

Für eine genauere Kontrolle darüber, wann der Dienst gestartet / gestoppt werden soll: sudo sysv-rc-conf

evgeny
quelle
Anzeige 1.: Dadurch werden auch die Links entfernt, um den Dienst zu beenden. Dies ist wahrscheinlich nicht das, was Sie möchten, falls Sie ihn manuell gestartet haben.
Htorque
Das ist falsch, man kann es immer mit /etc/init.d/squid3 startoder starten / stoppen stop.
Evgeny
Es werden die K * -Links entfernt, die den Dienst automatisch beenden . ;)
htorque
Wer würde das schon wollen? ;)
evgeny
Die faulen Leute (ME)! :-P
htorque
1

Zwei der einfachsten Wege (aus meiner Sicht).

1) mv /etc/init/squid3.conf /etc/init/squid3.conf.disabled

2) Kommentieren Sie die folgende Zeile aus

start on runlevel [2345]

im /etc/init/squid3.conf

Gummis
quelle
Nummer 2 war die einzige Lösung, die für mich funktioniert hat. Vielen Dank.
Paulo
0

Die obigen Antworten funktionierten nicht für mein Ubuntu 16.04.

Folgendes hat funktioniert:

sudo systemctl stop squid 
update-rc.d squid disable

sudo systemctl status squid 

Obwohl Sie möglicherweise eine Fehlermeldung erhalten wie:

insserv: Warnung: Der aktuelle Start-Runlevel (leer) des Skript-Squid überschreibt die LSB-Standardeinstellungen (2 3 4 5).

insserv: Warnung: Die aktuellen Stopp-Runlevel (0 1 2 3 4 5 6) des Skripts "squid" überschreiben die LSB-Standardeinstellungen (0 1 6). insserv: fopen (.depend.stop): Berechtigung verweigert

Der Dienst bleibt auch nach dem Neustart gestoppt.

Wenn Sie wissen, warum der Fehler auftritt und wie er behoben werden kann, können Sie die Antwort kommentieren oder bearbeiten.

Tarik
quelle