Como remover / script de backup do /etc/init.d/?

24

Eu trabalho com o Linux há um tempo, mas de uma maneira bastante simples.

Eu entendo que os scripts init.dsão executados quando o sistema operacional é iniciado, mas como exatamente funciona?

E se eu quiser manter um script, mas não quiser que ele inicie automaticamente?

Digamos que tenho um /etc/init.d/varnishe deseje desativá-lo temporariamente. Como garantir que não seja iniciado se o sistema operacional reiniciar? Não quero excluir o script. E se eu quiser adicioná-lo novamente?

iDev247
fonte

Respostas:

34

Existem algumas maneiras. Se você quiser fazer isso temporariamente, pode remover o bit de execução do arquivo:

$ chmod -x /etc/init.d/varnish

Em seguida, adicione-o novamente quando apropriado:

$ chmod +x /etc/init.d/varnish

A maneira "oficial" no Ubuntu (assim como no Debian e outros derivados do Debian), porém, é usar o update-rc.dcomando:

$ update-rc.d varnish disable

Isso removerá todos os links simbólicos das pastas /etc/rcX.d, que cuidam de iniciar e parar o serviço quando apropriado.

Consulte a página do manual update-rc.d para obter mais informações.

EEAA
fonte
Obrigado pela ótima resposta! chmodé uma solução fácil! Comecei a ler manpages.ubuntu.com/manpages/precise/man8/update-rc.d.8.html e está me ajudando a entender o init. Me fez pensar ... Eu deveria ler mais do manual.
IDev247
Feliz em ajudar. Devo observar que a solução chmod deve ser usada apenas temporariamente. Não verifiquei isso, mas pude ver o sistema Upstart (o que o Ubuntu usa para iniciar / parar processos automaticamente) ficando confuso com isso.
EEAA
9
$ sudo update-rc.d -f servicename remove
Rogerio Soares
fonte
1
Esta resposta não corresponde à pergunta que deseja manter o script. “Quando chamado com a opção remover, update-rc.dremove todos os links nos /etc/rcrunlevel.ddiretórios do script /etc/init.d/name. O script deve ter sido já eliminada “. Manpages.ubuntu.com/manpages/xenial/en/man8/update-rc.d.8.html
Melebius