Parando o carregamento de daemons no momento da inicialização

9

Quero impedir que alguns daemons sejam carregados no momento da inicialização, especialmente o squid3. Qual a melhor maneira para fazer isto?

nixnotwin
fonte
+1 foi redigido com perfeição para alguém que procura a resposta para esta pergunta.
msw

Respostas:

7

Você pode usar o utilitário chkconfig para esse fim.

sudo apt-get install chkconfig

Para verificar o status do nível de execução do squid, você pode executar este comando:

 chkconfig --list | grep squid

Isso produzirá algo como abaixo:

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

Para desativar o squid em todos os níveis de execução, você pode usar este comando:

sudo chkconfig  squid off

 chkconfig --list | grep squid

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

Para desativar o squid em um nível de execução específico, você pode usar este comando:

 chkconfig  --level 3  squid off
aneeshep
fonte
Temos 7 níveis de (0 - 6). Quais são esses níveis? Você pode nos explicar?
precisa saber é o seguinte
@ karthik87: Aqui está um bom artigo sobre os níveis de execução do Linux. Isso irá ajudá-lo: comptechdoc.org/os/linux/howlinuxworks/linux_hlrunlevels.html
aneeshep
E os scripts iniciantes?
Javier Rivera
3

Os daemons do sistema podem usar scripts de inicialização do SysV herdados ou o Upstart mais recente.

Para scripts sysv, existem várias ferramentas de gerenciamento, uma dessas ferramentas é "sysv-rc-conf" do pacote "sysv-rc-conf", instale-o e inicie-o no terminal.

Em relação ao Upstart, até onde eu sei, ainda não existe uma ferramenta de gerenciamento, você precisa renomear manualmente o script correspondente em / etc / init, por exemplo:

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

O Squid3 usa scripts sysv init, você pode desativá-lo com sysv-rc-conf.

João Pinto
fonte
1
Adendo: ao afastar seu trabalho inicial, você não poderá mais iniciá-lo manualmente. Provavelmente é melhor apenas descomentar a parte "iniciar" no arquivo .conf.
Htc #
2

Squid utiliza o sistema de inicialização de idade, então este comando deve fazer o truque: sudo update-rc.d -f squid3 remove.

Para um controle mais detalhado sobre quando iniciar / parar o serviço: sudo sysv-rc-conf

evgeny
fonte
Anúncio 1: isso também removerá os links para interromper o serviço, o que provavelmente não é o que você deseja, caso o inicie manualmente.
htorque
Isso está errado, você sempre pode iniciar / parar com /etc/init.d/squid3 startou stop.
evgeny
Ele removerá os links K * que interrompem o serviço automaticamente . ;)
htorque
Quem iria querer isso de qualquer maneira? ;)
evgeny
O povo preguiçoso (ME)! :-P
htorque
1

Duas maneiras mais simples (do meu ponto de vista).

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

2) comente a seguinte linha

start on runlevel [2345]

no /etc/init/squid3.conf

gomas
fonte
O número 2 foi a única solução que funcionou para mim. Obrigado.
Paulo
0

As respostas acima não funcionaram no meu Ubuntu 16.04.

Aqui está o que funcionou:

sudo systemctl stop squid 
update-rc.d squid disable

sudo systemctl status squid 

Embora você possa receber um erro como:

insserv: warning: o (s) nível (s) de início atual (vazio) do squid do script substitui os padrões LSB (2 3 4 5).

insserv: warning: current stop runlevel (s) (0 1 2 3 4 5 6) do script `squid 'substitui os padrões LSB (0 1 6). insserv: fopen (.depend.stop): permissão negada

O serviço permanece parado mesmo após a reinicialização.

Se você sabe por que o erro ocorre e como corrigi-lo, sinta-se à vontade para comentar ou editar a resposta.

Tarik
fonte