sysvinit 2.99

Опубликовано August@Karro - вт, 02/23/2021 - 11:09
nit (сокращение от англ. initialization — инициализация) — подсистема инициализации в Unix и ряде Unix-подобных систем, которая запускает все остальные процессы (sysvinit).

Длительное время init (sysvinit) была основной подсистемой инициализации в Linux, пока не была в большинстве дистрибутивов заменена systemd. В Solaris 10 вместо init применяется Service Management Facility. В ряде Unix-систем применяются альтернативы init: Upstart, Runit, Daemontools, Launchd, Initng, OpenRC. 

В процессе загрузки после инициализации ядра как правило запускается /sbin/init как первый процесс пользовательского режима, и init отвечает за дальнейшую загрузку системы. Для этого запускаются стартовые сценарии, которые выполняют проверку и монтирование файловых систем, запуск необходимых демонов, настройку ядра (в том числе загрузку модулей ядра согласно установленному оборудованию, настройку IP-адресов, таблиц маршрутизации и другие задачи), запуск графической оболочки. Основная информация для загрузки как правило размещается в /etc/inittab. 

По сравнению с его предшественниками, AT&T UNIX System III представил новый стиль конфигурации запуска системы, который сохранился (с изменениями) в UNIX System V и поэтому называется «SysVinit». В любой момент работающая AT&T UNIX System V находится в одном из заранее определённых состояний, называемых runlevel. По крайней мере один уровень выполнения является нормальным рабочим состоянием системы; как правило, другие уровни выполнения представляют однопользовательский режим (используется для восстановления неисправной системы), выключение системы и различные другие состояния.

Переключение с одного уровня выполнения на другой вызывает запуск набора сценариев для каждого уровня запуска, которые обычно монтируют файловые системы, запускают или останавливают daemons, запускают или останавливают X Window System, выключают машину и т. д. 

В новом выпуске sysvinit:

  • Обновлены man-руководства и проведена работа по устранению опечаток в комментариях к коду.
  • Кроме документации и улучшения читаемости кода в sysvinit функциональных изменений нет.
  • В insserv переработан обработчик, занимающийся извлечением информации об уровнях запуска и остановки из LSB-заголовков скриптов. Изменение позволило решить проблему с ошибочным определением runlevel в некоторых пакетах Debian при указании пустых значений в параметрах Default-Start и Default-Stop. 

Продолжает использоваться в таких дистрибутивах, как Devuan, Debian GNU/Hurd и antiX. 

 

Последние материалы