Uma coisa que sempre me confundiu no Ubuntu foi como os serviços do sistema são iniciados. Eu sei que o Ubuntu usa Upstart e suporta SysV, mas qual é usado para iniciar os serviços? Isso importa quando você deseja um início "manual" para um serviço.
Por exemplo, no meu sistema, tenho arquivos para os seguintes serviços em /etc/init.d/<service>
(SysV) e /etc/init/<service>.conf
(Upstart):
acpid, mysql, networking, qemu-kvm, ufw, libvirt-bin
Então, se eu quiser desativar a execução do MySQL na inicialização, devo usar a maneira Upstart ou a maneira SysV para desativá-la? Além disso, como posso saber qual deles é realmente usado para iniciar um serviço genérico?
Editar
A dúvida aqui não é como desabilitar / habilitar serviços usando o SysV / Upstart. O que realmente me confunde é que alguns serviços parecem estar definidos (e habilitados) no SysV e no Upstart ao mesmo tempo. Existe alguma precedência entre eles (como se estivesse mysql
ativado em ambos iniciá-lo usando o SysV)? Ou pode ser que uma ferramenta use a outra em segundo plano?
Respostas:
Em relação aos serviços definidos no SysV e no inicial, geralmente se você o reiniciar por meio do SysV, verá algo assim:
Entendo que isso significa que o Upstart é preferido para esses serviços, e a implementação do SysV é apenas um invólucro.
Além disso, acho que você tem o significado dos diretórios ao contrário. / etc / init é a configuração inicial, /etc/init.d é a compatibilidade com o SysV, mas são apenas links simbólicos para iniciar esse tipo de serviço.
fonte
Depende amplamente da aplicação e do mantenedor da embalagem.
Há uma forte preferência por scripts Upstart porque eles manipulam eventos (o que geralmente é ótimo), mas muitas aplicações não têm scripts Upstart suficientemente bons disponíveis ou o mantenedor da aplicação optou por manter os padrões (aplicativo ou Debian) .
De qualquer maneira, você está na posição em que precisa se adaptar.
.conf
oumanual
ao arquivo Isso permitirá que você carregue manualmente o serviço.Para serviços mais antigos:
Se você possui um
/etc/init.d/
script para algo e um/etc/init/
script e deseja verificar se a versão init.d ainda está ativa, é possível verificar com:Se você vir um monte de links simbólicos, ele será instalado no antigo init do SysV.
fonte
acpid
), posso assumir que ele foi iniciado pelo SysV? Ou, se eu quiser desativá-lo, precisaria fazê-lo usandoupdate-rc.d
o truque de renomeação?