8

Я недавно мигрировал с Windows на Linux (xubuntu)

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

net start mysql

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

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

3 ответа3

8

В большинстве дистрибутивов 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 на рабочем столе обычно нормально, но помните об удалении других сервисов.

6

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.

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 - отключает службу при следующей перезагрузке или при следующем событии остановки. Это сохраняется после перезагрузки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .