Как добавить сервис в автозагрузку в Linux?

23.04.2020 на прочтение 5 минут

При старте системы запускаются жизненно необходимые для нее службы/демоны и т.д. Для включения в этот список необходимых вам компонентов, чтобы не делать каждый раз настройку вручную существуют различные способы, также непосредственно через специальные демоны автозагрузки.

В этой статье рассмотрим процесс добавления сервисов в автозагрузку для самых популярных дистрибутивов Linux: CentOS, Debian и Ubuntu.

Debian/Ubuntu

Для  дистрибутивов Debian и Ubuntu управление автозагрузкой служб и доменов осуществляется с помощью утилиты update-rc.d с посредством демона init. Сама утилита работает с символическими ссылками связанных с init скриптами, которые управляют запуском/остановкой программ расположенных в каталоге /etc/init.d.

Коротко пройдемся по основных командах:

  • вывод списка сервисов и их состояния

service --status-all

  • добавить сервис в автозагрузку (service - название самого сервиса).

update-rc.d services defaults

  • убрать сервис с автозагрузки

update-rc.d -f service remove

Опция -f отвечает за удаление символических ссылок.

CentOS 6

Здесь за автозагрузку демонов/программ/служб отвечает содержимое каталога /etc/rc.local. Управление этими процессами идет через команду  chkconfig, которая кроме стандартных функций добавления/удаления служб с автозагрузки имеет уровни выполнения команды (уровни запуска). Уровни запуска - режимы работы операционной системы, каждый с каких несет в себе установленное направление функционала и ограничений. Всего уровней существует семь, которые нумеруются от 0 до 6. 

0 уровень - прекращение работы системы.

1 уровень - однопользовательский режим, доступен только пользователю root.

2 уровень - многопользовательский режим, возможно работа с нескольких терминалов, вход уже  как обычные пользователи.

3 уровень - также многопользовательский режим, настройка сетевых служб.

4 уровень - не используется.

5 уровень - включение графической подсистемы X11, для возможности использования графического интерфейса вместо командной строки.

6 уровень - перезагрузка системы.

  •  вывод на экран списка всех сервисов

chkconfig --list

  • предоставления информацию по конкретному сервису

chkconfig --list service

Здесь после использования команды на экране в консоли возле номеров уровней будут идти индикаторы on -включен, off - выключен, что определяет на каких уровнях работает или нет указанный сервис.

  • добавление сервиса в автозагрузку

chkconfig service on

  • удаление сервиса с автозагрузки 

chkconfig service off

  • для добавления сервиса на определенных уровнях

chkconfig --level 015 httpd on

Где после --level указываются номера уровней (слитно) на которых будет доступен сервис.

Для версий Debian 8, Ubuntu 15.04, CentOS 7  и выше

В более новых версиях CentOS, Debian и Ubuntu в качестве демона автозагрузки сервисов применяется systemd. Systemd для этого использует unit-файлы из каталога /etc/systemd/system. Systemd является очень универсальным и многофункциональным менеджером систем Linux, и позволяет распределять запуск служб в процессе загрузки ОС (включать и отключать их), тем самым максимально контролировать сам запуск. Systemd идет в связке с командой systemctl через которую идет управление автозагрузкой сервисов в системе.

  • вывод списка всех сервисов

systemctl list-unit-files --type=service

  • просмотр статуса определенного сервиса

systemctl status service

  • добавить сервис в автозагрузку

systemctl enable service

  • удалить сервис с автозагрузки

systemctl disable service

  • проверить добавлен ли сервис в автозагрузку

systemctl is-enabled service

Автозагрузка сервисов призвана немного облегчить рутинные задачи, с чем успешно справляется.

Купить VPS с Linux


Close Screen
Maria Kholodnitska
Статей: 221
Оцените статью:


Спасибо за отзыв
Рейтинг: 4.9 из 5 Голосов: 8