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.