Funcionalmente, não há diferença entre qualquer um desses métodos de invocação.
start
e stop
são links simbólicos para o initctl. service
é um script de shell que determina se deve executar o script de inicialização ou usar o initctl.
A maneira mais simples de ver o que é um trabalho do Upstart é dar uma olhada em /etc/init/
. Tudo lá é um trabalho do Upstart. Se você ls -l /etc/init.d/
, verá todos os serviços e tarefas do sistema. Os trabalhos init do SysV serão arquivos reais, enquanto os jobs Upstart serão links simbólicos para /lib/init/upstart-job
, que invocarão corretamente o trabalho Upstart.
Em outras palavras, você também pode invocar os jobs do Upstart chamando, por exemplo, /etc/init.d/apport restart
, embora a saída sugira usar service, start ou stop.
Então, na prática, não faz diferença (ainda!). Mas se eu escrevesse algo, certamente usaria o serviço, começaria ou pararia, já que quase não haveria nenhuma chance de ser reprovado, ao passo que os serviços de chamada por meio do /etc/init.d/ poderiam desaparecer (embora provavelmente não a qualquer momento em breve).
Uma nota sobre a desabilitação de serviços: renomear o arquivo .conf funciona, mas não o recomendo. Você pode desativar um serviço dessa maneira, mas se houver uma atualização de pacote disponível, o dpkg copiará uma cópia nova do trabalho do Upstart e, sem a intenção, o serviço será ativado novamente. A maneira correta de desabilitar um trabalho do Upstart é usar um arquivo .override que deixa o trabalho original intacto. / p>
Por exemplo, para desativar o apport, basta criar um arquivo chamado /etc/init/apport.override
que contenha a palavra "manual".
# echo "manual" > /etc/init/apport.override
Pessoalmente, evito usar sysv-rc-conf
. Pode ser seguro o suficiente para usá-lo para modificar os trabalhos do SysV, mas não tenho certeza; parece não suportar os trabalhos do Upstart, e não há como dizer a interface que é qual. Eu ficaria com update-rc.d
para gerenciar scripts SysV.
Para mais informações sobre o Upstart, consulte: