Zatrzymywanie ładowania demonów podczas uruchamiania

9

Chcę zatrzymać ładowanie niektórych demonów podczas uruchamiania, szczególnie squid3. Jak najlepiej to zrobić?

nixnotwin
źródło
+1 doskonale wyrażony dla osoby szukającej odpowiedzi na to pytanie.
msw

Odpowiedzi:

7

W tym celu możesz użyć narzędzia chkconfig .

sudo apt-get install chkconfig

Aby sprawdzić status poziomu kałamarnicy, możesz uruchomić następujące polecenie:

 chkconfig --list | grep squid

Spowoduje to wyświetlenie czegoś takiego jak poniżej:

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

Aby wyłączyć kałamarnicę na wszystkich poziomach uruchamiania, możesz użyć tego polecenia:

sudo chkconfig  squid off

 chkconfig --list | grep squid

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

Aby wyłączyć kałamarnicę na określonym poziomie uruchamiania, możesz użyć tego polecenia:

 chkconfig  --level 3  squid off
aneeshep
źródło
Mamy 7 poziomów od (0 - 6). Co to za poziomy? Czy możesz nam wyjaśnić?
karthick87
@ karthik87: Oto fajny artykuł na temat poziomów uruchamiania Linuksa. To pomoże Ci: comptechdoc.org/os/linux/howlinuxworks/linux_hlrunlevels.html
aneeshep
Co ze skryptami upstart?
Javier Rivera
3

Demony systemowe mogą używać starszych skryptów inicjujących SysV lub nowszej wersji Upstart.

W przypadku skryptów sysv istnieje kilka narzędzi do zarządzania, jednym z takich narzędzi jest „sysv-rc-conf” z pakietu „sysv-rc-conf”, zainstaluj go i uruchom z terminalu.

Jeśli chodzi o Upstart, o ile wiem, nie ma jeszcze narzędzia do zarządzania, musisz ręcznie zmienić nazwę odpowiedniego skryptu z / etc / init, np .:

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

Squid3 używa skryptów inicjujących sysv, można je wyłączyć za pomocą sysv-rc-conf.

João Pinto
źródło
1
Dodatek: Po przeniesieniu zadania upstart nie można już ręcznie go uruchomić. Prawdopodobnie lepiej jest po prostu odkomentować część „Rozpocznij” w pliku .conf.
htorque
2

Squid używa stary system startowy, więc to polecenie powinno załatwić sprawę: sudo update-rc.d -f squid3 remove.

Aby uzyskać bardziej szczegółową kontrolę, kiedy należy uruchomić / zatrzymać usługę: sudo sysv-rc-conf

evgeny
źródło
Ad 1 .: spowoduje to również usunięcie linków w celu zatrzymania usługi, co prawdopodobnie nie jest tym, czego chcesz, gdybyś uruchomił ją ręcznie.
htorque
To źle, zawsze możesz go uruchomić / zatrzymać za pomocą /etc/init.d/squid3 startlub stop.
evgeny,
Spowoduje to usunięcie linków K *, które automatycznie zatrzymują usługę . ;)
htorque
Kto by tego chciał? ;)
evgeny
Leniwi ludzie (ME)! :-P
htorque
1

Dwa najprostsze sposoby (z mojego punktu widzenia).

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

2) skomentuj następujący wiersz

start on runlevel [2345]

w /etc/init/squid3.conf

gumki
źródło
Numer 2 był jedynym rozwiązaniem, które działało dla mnie. Dzięki.
Paulo
0

Powyższe odpowiedzi nie działały na moim Ubuntu 16.04.

Oto, co zadziałało:

sudo systemctl stop squid 
update-rc.d squid disable

sudo systemctl status squid 

Chociaż może pojawić się błąd:

insserv: ostrzeżenie: bieżący poziom uruchamiania (pusty) skryptu squid zastępuje wartości domyślne LSB (2 3 4 5).

insserv: ostrzeżenie: bieżący poziom uruchomienia (s) zatrzymania (0 1 2 3 4 5 6) skryptu `squid 'zastępuje wartości domyślne LSB (0 1 6). insserv: fopen (.depend.stop): Odmowa zezwolenia

Usługa pozostaje zatrzymana nawet po ponownym uruchomieniu.

Jeśli wiesz, dlaczego wystąpił błąd i jak go naprawić, możesz skomentować lub edytować odpowiedź.

Tarik
źródło