В CentOS для добавления сервисов (приложений) в автозагрузку существует служба chkconfig. При условии, что эти сервисы установлены из репозитория командой yum.

Чтобы включить автозагрузку, то есть чтобы приложение запустилось при старте сервера (при загрузке операционной системы) необходимо выполнить следующую команду:

# chkconfig  имя_службы on 

Однако возможности команды chkconfig этим не ограничены. Для начала проверим включен ли в автозагрузку сервер, к примеру, httpd:

# chkconfig  --list  httpd httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off 

И в ответе сервера мы видим несколько уровней выполнения. Для одних httpd включен, для других нет.

Уровни выполнения в CentOS

Уровень 0 — остановка системы (halt) — работа системы должна быть прекращена;

Уровень 1 — однопользовательский режим работы — система инициализирует минимум служб и даёт единственному пользователю (как правило, суперпользователю) без проведения аутентификации командную строку. Как правило, этот режим используется для восстановления системы;

Уровень 2 — многопользовательский режим — пользователи могут работать на разных терминалах, вход в систему с процессом аутентификации;

Уровень 3 — многопользовательский сетевой режим — в отличие от предыдущего уровня, осуществляется настройка сети и запускаются различные сетевые службы;(используется преимущественно на серверных системах)

Уровень 4 — не имеет стандартного толкования и практически не используется;

Уровень 5 — запуск графической подсистемы — по сравнению с уровнем 3 производится также старт графической подсистемы X11, и вход в систему осуществляется уже в графическом режиме;

Уровень 6 — перезагрузка системы — при включении этого режима останавливаются все запущенные программы и производится перезагрузка.

Чтобы узнать текущий уровень выполнения достаточно выполнить команду runlevel.

# runlevel N 3 

В моем примере сервер находится на уровне выполнения 3, что является нормальным режимом его работы.

Автозагрузка на конкретные уровни выполнения Linux

По-умолчанию, команда chkconfig прописывает сервисы в автозагрузку по уровням 2, 3, 4, 5. Если необходимо изменить такой порядок, то следуют использовать следующие параметры:

# chkconfig  --level 35 httpd on 

Теперь команда chkconfig добавит демон httpd только на уровни 3 и 5.

Краткий список полезного применения утилиты chkconfig

Добавить в автозагрузку

# chkconfig  --add имя_службы 

Проверить включена ли служба в автозагрузку

# chkconfig  --list имя_службы 

Включить службу на всех уровнях (2, 3, 4, 5)

# chkconfig  имя_службы on 

Включить службу на определенных уровнях

# chkconfig  --level 35 имя_службы on 

Выключить службу на всех уровнях (2, 3, 4, 5)

# chkconfig  имя_службы off 

Выключить службу на определенных уровнях

# chkconfig  --level 35 имя_службы off 

Удалить службу из автозагрузки

# chkconfig  --dell имя_службы