Como evito que os serviços Linux sejam iniciados automaticamente?

Como evito que os serviços Linux sejam iniciados automaticamente?

Recentemente migrei do Windows para Linux (xubuntu)

Sou desenvolvedor e instalei tudo que preciso, LAMP. No Windows eu costumava desligar todos os serviços desnecessários - não preciso do serviço Apache ou MySQL rodando o tempo todo. Sempre que precisei do MySQL eu costumava usar:

net start mysql

Como faço o mesmo no Linux?

  1. Desativando a inicialização automática de daemons desnecessários?
  2. Iniciá-los apenas quando preciso deles?

Responder1

Na maioria das distribuições Linux, você pode iniciar/parar serviços manualmente (como root ou usando sudo) executando os seguintes comandos:

# /etc/init.d/apache2 start
# /etc/init.d/mysqld start

# /etc/init.d/apache2 stop
# /etc/init.d/mysqld stop

Quais serviços são iniciados automaticamente são controlados por links de arquivo em /etc/rc[runlevel].d/ . Encontre seu nível de execução atual usando o comando "runlevel" como root

# runlevel
N 2

O que aqui indica o nível de execução 2. Agora você só precisa remover os arquivos em /etc/rc2.d/ que você não deseja iniciar.

Remover o Apache e o Mysql de um desktop geralmente é aceitável, mas esteja ciente de remover outros serviços.

Responder2

Para versões do Ubuntu que usam systemd (15.04 e posterior), use:

systemctl disable service

Isso fará o trabalho. Isso desativará o serviço e não reiniciará após a reinicialização. Para ativar temporariamente simplesmentecomeçaro serviço. Nãohabilitar.

Para encontrar o nome do serviço, use

service --status-all

Outros comandos são:

systemctl start service- Use-o para iniciar um serviço. Não persiste após a reinicialização

systemctl stop service- Use-o para interromper um serviço. Não persiste após a reinicialização

systemctl restart service- Use-o para reiniciar um serviço

systemctl status service- Mostra o status de um serviço. Informa se um serviço está em execução no momento.

systemctl enable service- Liga o serviço na próxima reinicialização ou no próximo evento de inicialização. Ele persiste após a reinicialização.

systemctl disable service- Desliga o serviço na próxima reinicialização ou no próximo evento de parada. Ele persiste após a reinicialização.

Responder3

O Ubuntu 10.04 está no meio de uma transição entre dois sistemas de gerenciamento de serviços: SysVinit (o sistema tradicional, usado pela maioria das distribuições Linux) e Upstart (um sistema mais novo impulsionado pelo Ubuntu e que está se tornando disponível em cada vez mais distribuições).

Os scripts de gerenciamento de serviço SysVinit estão no formato /etc/init.d. Você pode iniciar o serviço /etc/init.d/SERVICENAME starte interrompê-lo com /etc/init.d/SERVICENAME stop. Se o serviço é iniciado automaticamente na inicialização depende da presença de links simbólicos em /etc/rc?.donde ?está um dígito de 2para 5(onível de execução). A maneira mais fácil de evitar que um serviço seja iniciado automaticamente na inicialização é usar o update-rc.d SERVICENAME disable.

Os arquivos de configuração de gerenciamento de serviço Upstart estão no formato /etc/init. Você pode iniciar o serviço start SERVICENAMEe interrompê-lo com stop SERVICENAME. O arquivo de configuração /etc/init/SERVICENAME.confcontém uma linha indicando quando iniciar o serviço: start on …. Uma maneira fácil de desabilitar esses serviços é mudar essa linha para start on never and (…). Se não quiser editar o arquivo, você também pode desabilitar completamente o serviço sem confundir o sistema de empacotamento, renomeando-o para não terminar em .conf.

dpkg-divert --add --local --divert /etc/init/foo.conf.disabled --rename /etc/init/foo.conf

A partir do Ubuntu 10.04, o Apache vem com um script SysVinit e o Mysql vem com um script Upstart.

informação relacionada