Normalmente, uso service start/stop
ou initctl start/stop
para iniciar ou interromper um processo de daemon, mas agora o que estou procurando é desativar um processo de daemon, iniciando no exemplo de inicialização mysqld
.
Atualmente o que estou fazendo é renomear /etc/init/mysql.conf
a /etc/init/mysql.conf.bak
mas depois de ler um pouco sobre systemd
eu vim a saber que ele fornece enable & disable
opção para a tarefa acima.
Então, existe algo semelhante no ubuntu 12.04 com upstart
.
systemctl [enable|disable|is-enabled] mysqld.service
Respostas:
Você pode desativar os serviços executando o seguinte comando:
Trecho da página de manual:
fonte
A maneira correta de desativar e iniciar o serviço é criar um arquivo XX.override,
echo 'manual' > /etc/init/mysqld.override
Dessa forma, o serviço inicial não será iniciado automaticamente
fonte
Ubuntu 12.04
?@RSK yes, why don't you just give it a try?
Suponho, porque é muito inconveniente reiniciar o sistema com "uma tentativa" para todos os conselhos desta página.@ warl0ck está certo; queria acrescentar que essas informações estão bem documentadas na documentação do Upstart: http://upstart.ubuntu.com/cookbook/#disabling-a-job-from-automatically-starting
Especificamente:
fonte
Há também um bom software para ajudá-lo. É chamado rcconf.
Basta fazer o download usando:
e use-o com o comando
Você obtém uma interface agradável (linha de comando) para desativar / ativar serviços.
fonte
Tente navegar
/etc/rc2.d
e renomear o que você deseja não executar na inicialização: altere o (inicial, maiúsculo) "S" para um "K" (por exemplo,S02mysql
paraK02mysql
). Se você mudar de idéia, basta inverter. Eu acho que o 2 se refere ao nível de execução; nesse caso, 2 é o padrão, nível de execução multiusuário. Provavelmente é aí que você tem a maioria das coisas para o uso diário do computador.Edit : Leia o comentário de James O'Gorman abaixo.
fonte
who -r
ourunlevel
.who --runlevel
.init
estará executando o 'KXXscript stop' no desligamento. Você deve remover o link simbólico ou remover o bit de execução do script init real. Eu acredito que o Debian usaupdate-rc.d
para gerenciar isso. Uso de RHEL (e derivados)chkconfig
.Com o Upstart, a configuração do serviço está nos arquivos
/etc/init/
. Por exemplo, ssh é controlado usando um arquivo de configuração/etc/init/ssh.conf
Este arquivo especifica os "eventos" que solicitarão ao Upstart que inicie o "trabalho".
Para impedir que um serviço seja iniciado automaticamente, um dos vários métodos pode ser usado:
a) Renomeie o arquivo service.conf para que não termine com .conf
b) Comente a linha "iniciar" do arquivo service.conf.
Nas versões mais recentes do upstart (pelo menos a partir da v1.3), você também pode substituir o início on-line usando um arquivo service.override, para poder usar:
# echo manual > /etc/init/service.override
Por fim, você também pode adicionar a palavra-chave "manual" ao final do arquivo de configuração do serviço, por exemplo, via:
# echo manual >> /etc/init/service.conf
Observe que isso não "interrompe" o serviço em execução, apenas o impede de iniciar automaticamente. Enquanto definido para inicialização "manual", você controla o serviço usando initctl, por exemplo, para parar e iniciar o daemon SSH:
# initctl stop ssh
# initctl start ssh
Indiscutivelmente, a melhor documentação para o Upstart está em http://upstart.ubuntu.com/cookbook/
A Seção 11.44 aborda "a desativação do início automático de um serviço, aqui: http://upstart.ubuntu.com/cookbook/#disabling-a-job-from-automatically-starting
fonte
Bem, devo dizer que a afirmação
é um pouco enganador, porque significa acrescentar o arquivo de substituição. Eu testei isso no 14.04 com o gerenciador de rede e o seguinte não funcionou
No entanto, isso funcionou
Portanto, na IMO, o initctl procura a primeira linha não comentada e a executa. Talvez eu esteja errado, mas esses foram os resultados dos meus testes. Entradas são bem-vindas.
fonte