Автозагрузка CentOS 6

В CentOS существует несколько уровней автозагрузки. Давайте их рассмотрим:

  • Уровень 0 — остановка системы (halt) — работа системы должна быть прекращена;
  • Уровень 1 — однопользовательский режим работы — система инициализирует минимум служб и даёт суперпользователю без проведения аутентификации командную строку. Как правило, этот режим используется для восстановления системы;
  • Уровень 2 — многопользовательский режим — пользователи могут работать на разных терминалах, вход в систему с процессом аутентификации;
  • Уровень 3 — многопользовательский сетевой режим — в отличие от предыдущего уровня, осуществляется настройка сети и запускаются различные сетевые службы;
  • Уровень 4 — не имеет стандартного толкования и практически не используется;
  • Уровень 5 — запуск графической подсистемы — по сравнению с уровнем 3 производится также старт графической подсистемы X11, и вход в систему осуществляется уже в графическом режиме;
  • Уровень 6 — перезагрузка системы — при включении этого режима останавливаются все запущенные программы и производится перезагрузка.

"Теперь, когда мы мегамодные пацаны"©, и знаем про уровни выполнения, попробуем разобраться с системой управления.

Для работы с автозагрузкой в CentOS используется утилита chkconfig:

chkconfig -v
chkconfig версия 1.3.49.3

Необходимо знать всего пару команд, чтобы чувствовать себя вполне комфортно. Итак:

chkconfig --list
Выводит список служб, находящихся (зарегистрированных) в автозагрузке. Совсем не значит, что они включаются при запуске системы. Вот пример, как это выглядит:

Spoiler: Highlight to view

auditd         	0:выкл	1:выкл	2:вкл	3:вкл	4:вкл	5:вкл	6:выкл
crond          	0:выкл	1:выкл	2:вкл	3:вкл	4:вкл	5:вкл	6:выкл
httpd          	0:выкл	1:выкл	2:вкл	3:вкл	4:вкл	5:вкл	6:выкл
ip6tables      	0:выкл	1:выкл	2:вкл	3:вкл	4:вкл	5:вкл	6:выкл
ipmi           	0:выкл	1:выкл	2:выкл	3:выкл	4:выкл	5:выкл	6:выкл
iptables       	0:выкл	1:выкл	2:выкл	3:выкл	4:выкл	5:выкл	6:выкл
messagebus     	0:выкл	1:выкл	2:вкл	3:вкл	4:вкл	5:вкл	6:выкл
mysqld         	0:выкл	1:выкл	2:вкл	3:вкл	4:вкл	5:вкл	6:выкл
netconsole     	0:выкл	1:выкл	2:выкл	3:выкл	4:выкл	5:выкл	6:выкл
netfs          	0:выкл	1:выкл	2:выкл	3:вкл	4:вкл	5:вкл	6:выкл
network        	0:выкл	1:выкл	2:вкл	3:вкл	4:вкл	5:вкл	6:выкл
nginx          	0:выкл	1:выкл	2:вкл	3:вкл	4:вкл	5:вкл	6:выкл
postfix        	0:выкл	1:выкл	2:вкл	3:вкл	4:вкл	5:вкл	6:выкл
qpidd          	0:выкл	1:выкл	2:вкл	3:вкл	4:вкл	5:вкл	6:выкл
rdisc          	0:выкл	1:выкл	2:выкл	3:выкл	4:выкл	5:выкл	6:выкл
restorecond    	0:выкл	1:выкл	2:выкл	3:выкл	4:выкл	5:выкл	6:выкл
rsyslog        	0:выкл	1:выкл	2:вкл	3:вкл	4:вкл	5:вкл	6:выкл
saslauthd      	0:выкл	1:выкл	2:выкл	3:выкл	4:выкл	5:выкл	6:выкл
sshd           	0:выкл	1:выкл	2:вкл	3:вкл	4:вкл	5:вкл	6:выкл
udev-post      	0:выкл	1:вкл	2:вкл	3:вкл	4:вкл	5:вкл	6:выкл
varnish        	0:выкл	1:выкл	2:выкл	3:выкл	4:выкл	5:выкл	6:выкл
varnishlog     	0:выкл	1:выкл	2:выкл	3:выкл	4:выкл	5:выкл	6:выкл
varnishncsa    	0:выкл	1:выкл	2:выкл	3:выкл	4:выкл	5:выкл	6:выкл
zabbix-agent   	0:выкл	1:выкл	2:выкл	3:выкл	4:выкл	5:выкл	6:выкл


Интересно, что в CentOS 5 команда chkconfig без ключей выведет информацию о версии, а в CentOS 6 - покажет список служб. Но это не важно.

Если Вам нужна какая-то конкретная служба, грепать не нужно =) Просто делаем:
chkconfig --list <имя сервиса>
Пример, кому интересно:

Spoiler: Highlight to view

chkconfig --list httpd
httpd          	0:выкл	1:выкл	2:вкл	3:вкл	4:вкл	5:вкл	6:выкл

Чтобы добавить (зарегистрировать) службу в chkconfig, нужно выполнить команду:
chkconfig --add <имя сервиса>
Соответственно, чтобы удалить:
chkconfig --del <имя сервиса>

Работа с самими службами сводится, по сути, к их включению/выключению на всех/конкретном уровне автозагрузки. Например:
chkconfig [--level <уровни>] <имя сервиса> <on|off|reset|resetpriorities>

Т.е. если Вы хотите включать apache при запуске системы можно сделать:
chkconfig httpd on
Система поставит его автоматически в 2, 3, 4 и 5 уровни. Можно самостоятельно указать для какого уровня включить (или выключить) службу:
chkconfig --level 35 httpd on

На этом, в целом, и всё. Аккуратнее с экспериментами! ;)

Комментарии

А еще переключаться между уровнями загрузки Centos можно командой init
Например:
init 2 - перейти из текущего уровня на уровень номер 2.
И собственно как я и ожидал:
init 6 - произошла перезагрузка системы. =)

Добавить комментарий

CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Target Image