Оказывается, что в разных системах он может быть разным, причём не просто наличием других опций, а и вообще иметь разные назначения при одних и тех же значениях.
Будем рассматривать такие системы: Linux, FreeBSD, Solaris.
Linux
0 – выключение системы (если же есть выключение ATX по питанию, то оно сработает)
1 – Однопользовательский режим
2 – Многопользовательский режим, за исключением того, что не будет работать сеть (на самом деле в этом режиме отключён NFS; многие современные дистрибутивы работают именно на этом режиме, например, debian)
3 – Нормальный рабочий режим
4 – Не определён, зарезервирован
5 – То же самое, что и 3 режим, только с X11
6 – Перезагрузка
FreeBSD
0 – выключение системы (если же есть выключение ATX по питанию, то оно сработает)
1 – Однопользовательский режим
2 – Нормальный рабочий режим
6 – Перезагрузка
c – Заблокировать регистрацию в системе (login)
q – Перечитать файл /etc/ttys
Solaris
0 – Остановка системы; (только для SPARC перевод в режим OpenBoot)
S – Однопользовательский режим (смонтирован только корень в режиме только чтения)
1 – Однопользовательский режим (смонтированы все ФС в режеме чтение/запись)
2 – Многопользовательский режим, в котором запущено много сетевых демонов
3 – Многопользовательский режим, тоже самое, что и 2 (уровень 3 запускает скрипты из /sbin/rc2 и /sbin/rc3), но и + NFS и некоторые другие сетевые службы
4 – Альтернативный многопользовательский режим
5 – выключение системы (если же есть выключение ATX по питанию, то оно сработает)
6 – Перезагрузка
6 коментарів “Init (run) level в системах *nix”
Также имеет смысл упомянуть о том, что в Solaris начиная с версии 10 введено понятие “этапов” (milestones), о функционировании различных служб в разных этапах и о том, что переход от одного этапа к другому выполняется командами svcs, svcadm и svccfg.
Да, всё верно. Тогда могут немного измениться (в зависимости от того, какой milestone используется) пункты 2,3. Но на остальные уровни это не влияет.
ПС. Если в чём-то не прав, исправьте.
Ну а в режиме 4 почему не может быть изменений?
Дело не в том, что конкретно изменится в каждом режиме, а в том, что благодаря SMF порядок загрузки Solaris изменился, большая часть функций по управлению службами перешла от init к svc.startd. Сначала запускается процесс init (как и раньше), он считывает файл /etc/default/init и устанавливает переменные среды окружения, затем init считывает файл /etc/inittab и запускает все процессы, у которых в поле “тип запуска” указано sysinit и в итоге передает управление дальнейшим запуском служб svc.startd.
И кроме этапов имеет смысл упомянуть об отличиях между загрузкой System V и BSD, а также о программах для изменения режима работы системы: shutdown, reboot, halt, poweroff, init (и о том, что не везде есть они все).
Но это всего лишь мое мнение, Ваше может отличаться.
4-ый вроде бы зарезервирован и не используется. В остальном согласен с вами.
Да, этот режим подразумевает отличную от режимов 2 и 3 конфигурацию программ для работы в многопользовательском режиме. Обычно не используется.
P.S. А почему init level, а не runlevel?
Чисто из-за того, что переход из одного режима в другой можно делать через команду init 🙂 Да и так мне показалось понятнее.