
Недавно я перешел с Windows на Linux (xubuntu)
Я разработчик и установил все, что мне нужно, LAMP. В Windows я отключал все ненужные службы - мне не нужны постоянно работающие службы Apache или MySQL. Когда мне нужен был MySQL, я использовал:
net start mysql
Как сделать то же самое в Linux?
- Отключить автозапуск ненужных демонов?
- Запускать их только тогда, когда они мне нужны?
решение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.