Очень часто возникает необходимость убрать или добавить какой-то сервис в автозагрузку в Linux.
Существую разные init
системы, но в Ubuntu и CentOS самыми распространенными являются SysV
, Upstart
и systemd
.
В зависимости от дистрибутива Linux, поведение сервиса во время загрузки системы может быть настроено с помощью команд systemctl
или chkconfig
.
В этом руководстве показано как убрать или добавить сервис в автозагрузку в самых популярных Linux дистрибутивах — Ubuntu и CentOS.
Ubuntu-16.04
Поддерживаемые релизы: Ubuntu-15.04, 15.10, 16.04, 16.10.
systemd
— это менеджер системы и сервисов в операционной системе Linux.Сейчас он, по умолчанию, используется в большинстве Linux дистрибутивах и полностью поддерживается в Ubuntu-15.04 и последующих релизах.Он поставляется с командной утилитой systemctl
, которая, помимо всего прочего, позволяет включать и выключать сервисы во время загрузки системы.
Узнать стоит ли сервис в автозагрузке:
$ systemctl is-enabled SERVICE
Убрать сервис из автозагрузки в Ubuntu-16.04:
$ sudo systemctl disable SERVICE
Добавить сервис в автозагрузку в Ubuntu-16.04:
$ sudo systemctl enable SERVICE
Ubuntu-14.04
Поддерживаемые релизы: Ubuntu-9.10, 10.04, 10.10, 11.04, 11.10, 12.04, 12.10, 13.04, 13.10, 14.04, 14.10.
Узнать стоит ли сервис в автозагрузке:
$ initctl show-config SERVICE
Убрать сервис из автозагрузки в Ubuntu-14.04:
$ echo manual | sudo tee /etc/init/SERVICE.override
Добавить сервис в автозагрузку в Ubuntu-14.04:
$ sudo rm /etc/init/SERVICE.override
CentOS-7
systemd
— это менеджер системы и сервисов в операционной системе Linux, который становится новым стандартом для Linux машин.В CentOS-7, он заменяет Upstart
в качестве init
системы по умолчанию.systemd
поставляется с командной утилитой systemctl
, которая является центральной управляющей программной для systemd
, которая, помимо всего прочего, умеет включать и выключать сервисы во время загрузки системы.
Узнать стоит ли сервис в автозагрузке:
$ systemctl is-enabled SERVICE
Убрать сервис из автозагрузки в CentOS-7:
$ systemctl disable SERVICE
Добавить сервис в автозагрузку в CentOS-7:
$ systemctl enable SERVICE
CentOS-6
Узнать стоит ли сервис в автозагрузке:
$ chkconfig --list | grep SERVICE
Убрать сервис из автозагрузки в CentOS-6:
$ chkconfig SERVICE off
Добавить сервис в автозагрузку в CentOS-6:
$ chkconfig SERVICE on