OpenRC - OpenRC

OpenRC
Оригинальный автор (ы)Рой Марплс
Разработчики)Разработчики OpenRC
изначальный выпуск5 апреля 2007 г.; 13 лет назад (2007-04-05)
Стабильный выпуск
0.42.1 / 20 августа 2019; 15 месяцев назад (2019-08-20)[1]
Репозиторий Отредактируйте это в Викиданных
Написано вC[2], Оболочка
Операционная системаLinux, FreeBSD, NetBSD, TrueOS
Размер~900 КБ
ТипВ этом демон
ЛицензияЛицензия BSD с двумя пунктами
Интернет сайтwww.gentoo.org/ proj/ en/база/ openrc/

На Unix-подобный системы, OpenRC основан на зависимости в этом система. Он получил некоторую известность как альтернативная система инициализации, поскольку дистрибутивы переключились на systemd.[3][4][5] Он был создан Roy Marples, a NetBSD разработчик, который также был активен в проекте Gentoo.[6][7]

OpenRC - это система инициализации по умолчанию для Gentoo, Alpine Linux, Гипербола GNU / Linux-libre, Парабола GNU / Linux-libre, Artix Linux, Maemo Leste, TrueOS[8] и другие unix-подобные системы, а некоторые другие, такие как Девуан предлагаю как вариант.[9] Это означает, что программные пакеты и демоны этих систем / дистрибутивов поддерживают его, поставляя или используя доступные скрипты.

дизайн

OpenRC состоит из нескольких модульных компонентов, основными из которых являются init (необязательно), основная система управления зависимостями и диспетчер демонов (необязательно). Он написан в оболочке, совместимой с C и POSIX, что делает его пригодным для использования в системах BSD и Linux.

Основная часть OpenRC обрабатывает управление зависимостями и синтаксический анализ сценария инициализации. OpenRC работает путем сканирования уровней выполнения, построения графа зависимостей, а затем запуска необходимых сценариев службы. Он завершается после запуска скриптов. По умолчанию OpenRC использует модифицированную версию start-stop-daemon для управления демонами.[10]

Скрипты инициализации имеют сходство со скриптами, используемыми в SysVinit, но предлагают несколько функций, упрощающих их создание. Предполагается, что в сценариях есть start (), stop () и status (), и система использует уже объявленные переменные для создания функций по умолчанию.[11] Функция зависимости используется для объявления зависимостей от других служб, которые будут выполняться с заголовками LSB в SysVinit. Конфигурация и механизм разделены файлами конфигурации в каталоге conf.d и файлами init в каталоге init.d.

Openrc-init впервые появился в версии 0.25 как дополнительная замена для / sbin / init. Поддерживаются несколько других модулей, включая SysVinit и Busybox[12].

Supervise-daemon впервые появился в версии 0.21, предоставляя возможности наблюдения openrc. Его можно включить в сценарии инициализации, чтобы supervise-daemon запускал и контролировал демон. Поддерживаются несколько других супервизоров демонов, включая запустить его[13] и s6[14].

особенности

  • Переносимость между Linux, TrueOS, FreeBSD и NetBSD
  • Запуск параллельной службы (по умолчанию выключен)
  • Загрузка на основе зависимостей
  • Разделение процессов через cgroups[15]
  • Ограничения ресурсов для каждой службы (ulimit)
  • Разделение кода и конфигурации (init.d / conf.d)
  • Расширяемые сценарии запуска
  • Скрипты инициализации с отслеживанием состояния (он уже запущен?)
  • Сложные сценарии инициализации для запуска нескольких компонентов (Самба (smbd и nmbd), NFS (nfsd, portmap и т. д.))
  • Автоматический расчет зависимостей и заказ услуг
  • Модульная архитектура и разделение дополнительных компонентов (Cron, системный журнал )
  • Выразительная и гибкая работа с сетью (включая VPN, мосты и др.)
  • Подробный режим отладки

использованная литература

  1. ^ "openrc-0.42.1". Получено 19 сентября, 2019.
  2. ^ "openrc", Резюме анализа, Охлох, получено 2012-03-10
  3. ^ «DistroWatch.com: верните удовольствие в вычисления. Используйте Linux, BSD». distrowatch.com. Получено 2020-04-04.
  4. ^ «5 отличий между TrueOS и Linux». Получено 6 апреля 2020.
  5. ^ «Улучшение TrueOS: OpenRC». Получено 6 апреля 2020.
  6. ^ "История". Получено 6 апреля 2020.
  7. ^ "Разработчики". Получено 6 апреля 2020.
  8. ^ «4. Настройка после установки - Руководство пользователя TrueOS®». www.trueos.org. Получено 2017-03-12.
  9. ^ "Стабильный выпуск Devuan ASCII 2.0.0". Получено 2018-07-17.
  10. ^ "гид пользователя". Получено 6 апреля 2020.
  11. ^ "руководство по сценариям обслуживания". Получено 6 апреля 2020.
  12. ^ OpenRC
  13. ^ "руководство по руниту". Получено 6 апреля 2020.
  14. ^ "Руководство по s6". Получено 6 апреля 2020.
  15. ^ «Поддержка CGroups». Получено 5 апреля 2020.

внешние ссылки