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?


+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

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.


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


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


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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.