Como impedir que um daemon inicialize no boot no Debian

14

Existem alguns daemons que eu desabilitei ao iniciar na inicialização. Como exemplo, uso o seguinte:

 sudo update-rc.d -f postgresql remove

Eu nem tenho certeza se esse comando está correto e não me lembro de onde o recebi.

De qualquer forma, sempre que eu atualizo postgresql , a configuração é perdida (ou seja, o daemon é inicializado na reinicialização).

    
por Tshepang 20.06.2011 / 22:31

3 respostas

21

update-rc.d foi usado inicialmente pelos scripts de atualização de pacotes. remove é chamado na desinstalação do pacote e remove todos os links, defaults é chamado na instalação do pacote, enable ou disable pode ser usado dependendo do debconf e é útil para os administradores de sistemas. As limpezas remove não são de fato úteis para desabilitar um serviço. Na página do manual:

A common system administration error is to delete the links with the thought that this will "disable" the service, i.e., that this will prevent the service from being started. However, if all links have been deleted then the next time the package is upgraded, the package's postinst script will run update-rc.d again and this will reinstall links at their factory default locations. The correct way to disable services is to configure the service as stopped in all runlevels in which it is started by default. In the System V init system this means renaming the service's symbolic links from S to K.

sudo update-rc.d postgresql disable fará o que você quiser, porque mantém os links simbólicos rc.d, mas com o prefixo K (morto, parado). Reverta com um enable . Alguns serviços suportam a desativação de seu arquivo /etc/defaults/$service , mas infelizmente há exceções. Outras maneiras de desativar um serviço são chmod -x o arquivo /etc/init.d/$service ou inserir um exit 0 no topo dele.

    
por 20.06.2011 / 23:06
4

Para esclarecer a melhor solução, semelhante à resposta que Tobu deu:

  1. Não use update-rc.d com a opção remove .
  2. Em vez disso, use update-rc.d com a opção disable .

Exemplo: update-rc.d postgresql disable

PLUS, você também pode encontrar (e desativar) outros serviços mais específicos com systemctl .

Exemplo: systemctl disable pppd-dns.service

    
por 05.02.2016 / 21:48
3

Tobu tem toda a razão, mas, para completar, há uma ferramenta para oferecer uma visão geral inteligente: sysv-rc-conf . Para copy & patse:

apt-get install sysv-rc-conf

Executando sysv-rc-conf você verá qual script é executado em qual runlevel. Você pode ativar / desativar serviços via space e sair com q .

    
por 21.06.2011 / 00:02