Как предотвратить автоматический запуск служб Linux?

Как предотвратить автоматический запуск служб Linux?

Недавно я перешел с Windows на Linux (xubuntu)

Я разработчик и установил все, что мне нужно, LAMP. В Windows я отключал все ненужные службы - мне не нужны постоянно работающие службы Apache или MySQL. Когда мне нужен был MySQL, я использовал:

net start mysql

Как сделать то же самое в Linux?

  1. Отключить автозапуск ненужных демонов?
  2. Запускать их только тогда, когда они мне нужны?

решение1

В большинстве дистрибутивов Linux вы можете вручную запускать/останавливать службы, выполнив (как пользователь root или с помощью sudo) следующие команды:

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

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

Какие службы будут автоматически запускаться, контролируется ссылками на файлы в /etc/rc[runlevel].d/. Найдите текущий уровень запуска, используя команду "runlevel" от имени пользователя root

# runlevel
N 2

Что здесь указывает на уровень запуска 2. Теперь вам просто нужно удалить те файлы в /etc/rc2.d/, которые вы не хотите запускать.

Удаление Apache и Mysql на рабочем столе обычно не вызывает проблем, но будьте осторожны при удалении других служб.

решение2

Для версий Ubuntu, использующих systemd (15.04 и более поздние), используйте:

systemctl disable service

Это сделает свое дело. Это отключит службу и не перезапустит ее после перезагрузки. Чтобы временно включить, простоначинатьобслуживание. Недавать возможность.

Чтобы найти название сервиса, используйте

service --status-all

Другие команды:

systemctl start service- Используйте его для запуска службы. Не сохраняется после перезагрузки

systemctl stop service- Используйте его для остановки службы. Не сохраняется после перезагрузки

systemctl restart service- Используйте его для перезапуска службы.

systemctl status service- Показывает статус службы. Сообщает, запущена ли служба в данный момент.

systemctl enable service- Включает службу при следующей перезагрузке или при следующем событии запуска. Сохраняется после перезагрузки.

systemctl disable service- Отключает службу при следующей перезагрузке или следующем событии остановки. Сохраняется после перезагрузки.

решение3

Ubuntu 10.04 находится в процессе перехода между двумя системами управления службами: SysVinit (традиционная система, используемая большинством дистрибутивов Linux) и Upstart (более новая система, продвигаемая Ubuntu и становящаяся доступной во все большем количестве дистрибутивов).

Скрипты управления службой SysVinit находятся в /etc/init.d. Вы можете запустить службу с помощью /etc/init.d/SERVICENAME startи остановить ее с помощью /etc/init.d/SERVICENAME stop. Будет ли служба автоматически запускаться при загрузке, зависит от наличия символических ссылок в , /etc/rc?.dгде ?есть цифра от 2до 5(уровень запуска). Самый простой способ предотвратить автоматический запуск службы при загрузке — использовать update-rc.d SERVICENAME disable.

Файлы конфигурации управления службой Upstart находятся в /etc/init. Вы можете запустить службу с помощью start SERVICENAMEи остановить ее с помощью stop SERVICENAME. Файл конфигурации /etc/init/SERVICENAME.confсодержит строку, указывающую, когда запускать службу: start on …. Простой способ отключить эти службы — изменить эту строку на start on never and (…). Если вы не хотите редактировать файл, вы также можете полностью отключить службу, не запутывая систему пакетов, переименовав его так, чтобы он не заканчивался на .conf.

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

Начиная с Ubuntu 10.04, Apache поставляется со скриптом SysVinit, а Mysql — со скриптом Upstart.

Связанный контент