Поиск по сайту:

6 лучших современных систем инициализации Linux (1992–2023 гг.)


В Linux и других Unix-подобных операционных системах процесс init (инициализация) — это первый процесс, выполняемый ядром во время загрузки, который имеет ID (PID) со значением 1, который выполняется в фоновом режиме до тех пор, пока система не выключится.

Процесс init запускает все остальные процессы Linux, то есть демоны, службы и другие фоновые процессы, поэтому он является родительским для всех остальных процессов в системе.

Процесс может запускать множество других дочерних процессов в системе, но если родительский процесс умирает, init становится родительским для потерянного процесса.

За прошедшие годы в основных дистрибутивах Linux появилось множество систем init, и в этом руководстве мы рассмотрим некоторые из лучших систем инициализации, с которыми вы можете работать в операционной системе Linux.

1. Инициализация системы V

System V (SysV) — это развитая и популярная схема init в Unix-подобных операционных системах. Она является родительским элементом всех процессов в системе Unix/Linux. SysV — первая коммерческая операционная система Unix.

Почти все дистрибутивы Linux сначала использовали схему инициализации SysV, за исключением Gentoo, который имеет собственную инициализацию, и Slackware, который использует схему инициализации в стиле BSD.

Прошли годы, из-за некоторых недостатков было разработано несколько замен SysV init с целью создания более эффективных и совершенных систем инициализации для Linux.

Хотя эти альтернативы направлены на улучшение SysV и, возможно, предлагают новые функции, они по-прежнему совместимы с исходными сценариями SysV.

2. СистемаД

SystemD — относительно новая схема инициализации на платформе Linux. Этот набор инструментов, представленный в Fedora 15, упрощает управление системой. Основная цель — инициализировать, управлять и отслеживать все системные процессы в процессе загрузки и во время работы системы.

Systemd init полностью отличается от других традиционных систем инициализации Unix своим практическим подходом к управлению системами и службами. Он также совместим со сценариями инициализации SysV и LBS.

Он имеет некоторые из следующих выдающихся особенностей:

  • Чистый, простой и эффективный дизайн
  • Одновременная и параллельная обработка при загрузке
  • Улучшенный APIv
  • Позволяет удалить необязательные процессы
  • Поддерживает ведение журнала событий с помощью Journald.
  • Поддерживает планирование заданий с использованием таймеров календаря systemd.
  • Хранение логов в двоичных файлах
  • Сохранение состояния systemd для дальнейшего использования.
  • Улучшенная интеграция с GNOME и многое другое.

3. Выскочка

Upstart — это система инициализации на основе событий, разработанная создателями Ubuntu в качестве замены системы инициализации SysV. Он запускает различные системные задачи и процессы, проверяет их во время работы системы и останавливает их при завершении работы системы.

Это гибридная система инициализации, в которой используются как сценарии запуска SysV, так и сценарии Systemd. Некоторые из примечательных особенностей системы инициализации Upstart включают в себя:

  • Первоначально разработан для Ubuntu Linux, но может работать во всех других дистрибутивах.
  • Запуск и остановка задач и служб на основе событий.
  • События генерируются во время запуска и остановки задач и служб.
  • События могут отправляться другими системными процессами
  • Связь с процессом инициализации через D-Bus
  • Пользователи могут запускать и останавливать свои процессы
  • Возрождение сервисов, которые внезапно умирают, и многое другое.

4. ОпенРК

OpenRC — это основанная на зависимостях схема init для Unix-подобных операционных систем. Она совместима с SysV init. Несмотря на то, что он вносит некоторые улучшения в Sys V, вы должны иметь в виду, что OpenRC не является полной заменой файла /sbin/init.

Он предлагает некоторые выдающиеся функции, в том числе:

  • Он может работать во многих других дистрибутивах Linux, включая Gentoo, а также в BSD.
  • Поддерживает аппаратно-инициируемые сценарии инициализации.
  • Поддерживает один файл конфигурации
  • Конфигурации для каждой службы не поддерживаются.
  • Работает как демон
  • Запуск параллельных сервисов и многое другое

5. запустить

runit также является кросс-платформенной системой инициализации, которая может работать в GNU/Linux, Solaris, *BSD и Mac OS X, и является альтернативой SysV init, которая обеспечивает контроль обслуживания.

Он имеет некоторые преимущества и замечательные компоненты, которых нет в системе инициализации SysV и, возможно, в других системах инициализации Linux, а именно:

  • Надзор за службами, где каждая служба связана с каталогом служб.
  • Чистое состояние процесса гарантирует чистое состояние каждого процесса.
  • Он имеет надежную систему регистрации
  • Быстрая загрузка и завершение работы системы
  • Это также портативный
  • Удобная упаковка
  • Маленький размер кода и многое другое

6. с6

s6 предлагает компактный набор инструментов для UNIX, предназначенный для контроля процессов, аналогичный daemontools и runit. Это облегчает операции с процессами и демонами.

Разработанный как набор инструментов низкоуровневого администрирования сервисов, s6 предоставляет разнообразные инструменты, которые могут работать независимо или в его рамках. В сочетании эти инструменты обеспечивают надежную функциональность с минимальным количеством кода.

Как я уже упоминал ранее, система init запускает и управляет всеми остальными процессами в системе Linux. Кроме того, SysV является основной схемой инициализации в операционных системах Linux, но из-за некоторых недостатков производительности системные программисты разработали для нее несколько замен.

Здесь мы рассмотрели некоторые из этих замен, но могут быть и другие системы инициализации, которые, по вашему мнению, стоит упомянуть в этом списке. Вы можете сообщить нам о них через раздел комментариев ниже.