Системы инициализации Linux

Системы инициализации (набор скриптов, которые выполняются при загрузке системы): init, systemd.

  • Система инициализации System V inittab, используется в OC: ASPLinux.
  • Система инициализации Upstart ранее использовалась в OC Ubuntu, Fedora.
  • Система инициализации systemd (system daemon) используется в современных дистрибутивах начиная с 2010 года.

Системы инициализации Linux: System V, BSD, systemd, Upstart.

Система инициализации Linux — это набор скриптов, выполняющихся при старте системы. Скрипты написаны на языке shell-script классического Boure Shell (Оболочка sh Bourne shell). Исторически сложилось так, что существует две системы инициализации:

  • System V
  • BSD

Они отличаются друг от друга организацией стартовых скриптов: как они называются, в каких директориях располагаются, последовательность вызова и т.д.

Последовательность действий при старте компьютера:

BIOS -> загрузчик -> ядро -> init

При запуске PC совместимого компьютера происходит следующая последовательность действий:

  1. выполняется BIOS компьютера;
  2. запускается загрузчик операционной системы – LILO, Введение Grub2 или любой другой;
  3. загружается ядро Linux.

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

  • подключённую в режиме только для чтения корневую файловую систему;
  • работающую программу init

Дальнейшие действия, которые будут выполняться при старте системы, во многом зависят от конфигурации программы init.

До этого момента ещё не важно какая система инициализации используется. Не зависимо от неё во всех Linux сначала запускается init. А вот какая система инициализации будет использоваться в дальнейшем зависит от того как сконфигурирован init.

init (initialization)

Сценарии инициализации системы "SysV init scripts" (/etc/init.d) отвечает за запуск системы (сервисов) и выключение сервисов и самой ОС. Этот стандарт берет свое начало от операционной системы AT&T UNIX System V, выпущенной в в 1989 г.

init - самая первая запускаемая программа в ОС Linux (PID 1). Файл inittab является конфигурационным файлом программы init.

Ниже, список программ (скриптов), которые предоставляют интерфейс для управления запускаемыми службами.

  • Уровни нинциализации:
    /etc/rc0.d | уровень исполнения 0 | выполняет скрипт при выключении системы
    /etc/rc1.d | уровень исполнения 1 | однопользовательский режим (single user mode) аналогичен Safe Mode в Windows.
    /etc/rc2.d | уровень исполнения 2 | многопользовательский режим (multiuser mode)
    /etc/rc3.d | уровень исполнения 3 | зарезервированно
    /etc/rc4.d | уровень исполнения 4 | зарезервированно
    /etc/rc5.d | уровень исполнения 5 | зарезервированно
    /etc/rc6.d | уровень исполнения 6 | выполнение при при перезагрузке
  • При запуске компьютера независимо от того какой уровень выполнения текущий - запускаются в обязательном порядке все символические ссылки из каталога
    /etc/rcS.d
PQ VPS сервера в 28+ странах.