Apenas para referência: Desde o upstart 0.6.7 (no Ubuntu desde o natty), há uma estrofe chamada manual projetado apenas para este propósito.
Desejo desativar vários trabalhos iniciantes aqui. Eu sei como fazer um trabalho inicial. E também sei como parar manualmente um trabalho. No entanto, não consigo encontrar uma amostra em que eu transforme um trabalho automaticamente em um trabalho manual. Ou seja, eu quero que o trabalho seja iniciado somente quando o usuário ativar, por exemplo, executando este comando (como root):
service job-name start
Exclua ou comente a parte start on
(usando o sinal numérico '#'). Comentá-lo tem a vantagem de fácil recuperação do estado original.
Como mencionado por @MvG, há a sub-rotina manual
que declara que um serviço upstart deve ser iniciado apenas manualmente.
Como root, coloque isso no arquivo .override
em /etc/init/
correspondente ao nome do trabalho:
echo "manual" > /etc/init/${JOB-NAME}.override
ou usando o sudo:
echo "manual" | sudo tee /etc/init/${JOB-NAME}.override
O Apache, por exemplo, não usa 'upstart'. Apache é o antigo link Sys V começando em rc2.d
A pista é quando um serviço está faltando, como: '/etc/init/apache2.conf'
Nesses casos, você precisa de boas técnicas antiquadas de SysV.
Um ponto de partida é: Procure por um README em /etc/init.d
Também existem ferramentas de GUI para tweeking de níveis de execução
Nota: o upstart está ficando depreciado e, eventualmente, as distros vão migrar para o systemd. Oh que divertido.
Tags upstart