OpenRC
Эта статья нуждается в дополнительных цитатах для проверки . ( июль 2019 г. ) |
Оригинальный автор(ы) | Рой Марплс |
---|---|
Разработчик(и) | Разработчики OpenRC |
Первоначальный выпуск | 5 апреля 2007 г |
Стабильная версия | 0.54.2 [1] / 28 июня 2024 г |
Репозиторий | |
Написано в | С , [2] Оболочка |
Операционная система | Linux , FreeBSD , NetBSD |
Размер | ~1550 КБ |
Тип | инициализации Демон |
Лицензия | Лицензия BSD из 2 пунктов |
Веб-сайт | неделя |
OpenRC на основе зависимостей — это система инициализации для Unix-подобных компьютерных операционных систем . Он был создан Роем Марплсом, разработчиком NetBSD , который также принимал активное участие в проекте Gentoo . [3] [4] решили Он получил более широкое распространение в качестве системы инициализации за пределами Gentoo после того, как некоторые дистрибутивы Linux не использовать systemd . [5] [6] [7]
Принятие
[ редактировать ]OpenRC является инициализации системой и/или диспетчером процессов по умолчанию для:
OpenRC — это доступная инициализации система и/или диспетчер процессов для:
- Artix Linux (некоторые считают его версией по умолчанию) [8] )
- Девуан [9]
- Парабола GNU/Linux-libre
Дизайн
[ редактировать ]OpenRC состоит из нескольких модульных компонентов, основными из которых являются init (необязательно), базовая система управления зависимостями и управляющий демон (необязательно). Он написан на C и POSIX-совместимой оболочке, что позволяет использовать его в системах BSD и Linux.
Основная часть OpenRC занимается управлением зависимостями и анализом сценариев инициализации. OpenRC работает путем сканирования уровней выполнения, построения графа зависимостей и последующего запуска необходимых сервисных сценариев. Он завершается после запуска сценариев. По умолчанию OpenRC использует модифицированную версию start-stop-daemon для управления демоном. [10]
Сценарии инициализации имеют сходство со сценариями, используемыми в sysvinit , но предлагают несколько функций, упрощающих их создание. Предполагается, что сценарии имеют start()
, stop()
и status()
; и система использует уже объявленные переменные для создания функций по умолчанию. [11] Функция зависимости используется для объявления зависимостей от других служб, которые можно было бы сделать с помощью заголовков LSB в sysvinit. Конфигурация и механизм разделены файлами конфигурации в каталоге conf.d и файлами инициализации в каталоге init.d.
Openrc-init впервые появился в версии 0.25 как дополнительная замена /sbin/init
. Это может заменить стандартную систему инициализации Gentoo Linux — sysvinit. [12]
Демон Supervise впервые появился в версии 0.21, предоставляя возможности контроля OpenRC. Его можно включить в сценарии инициализации, чтобы Supervisor-daemon запускал и отслеживал работу демона. Поддерживаются несколько других супервизоров демонов, включая runit. [13] и s6 . [14]
Функции
[ редактировать ]- Переносимость между Linux , FreeBSD и NetBSD.
- Параллельный запуск службы (по умолчанию отключен)
- Загрузка на основе зависимостей
- Разделение процессов через cgroups [15]
- Ограничения ресурсов для каждой службы (ulimit)
- Разделение кода и конфигурации (init.d/conf.d)
- Расширяемые сценарии запуска
- Сценарии инициализации с сохранением состояния ( он уже начался? )
- Сложные сценарии инициализации для запуска нескольких компонентов ( Samba [smbd и nmbd], NFS [nfsd, portmap и т. д.])
- Автоматический расчет зависимостей и заказ услуг
- Модульная архитектура и разделение дополнительных компонентов ( cron , syslog )
- Выразительная и гибкая работа с сетью (включая VPN , мосты и т. д.)
- Подробный режим отладки
Ссылки
[ редактировать ]- ^ «Выпуск 0.54.2» . 28 июня 2024 г. Проверено 24 июля 2024 г.
- ^ «openrc» , Сводка анализа , Ohloh , получено 10 марта 2012 г.
- ^ «История» . Гитхаб . Проверено 6 апреля 2020 г.
- ^ «Разработчики» . Проверено 6 апреля 2020 г.
- ^ «Manjaro OpenRC 0.8.13 — новое изобретение init без systemd» . DistroWatch Weekly, выпуск 612 . 1 июня 2015 года . Проверено 4 апреля 2020 г.
- ^ «5 различий между TrueOS и Linux» . 23 февраля 2018 года . Проверено 6 апреля 2020 г.
- ^ «Улучшение TrueOS: OpenRC» . Проверено 6 апреля 2020 г.
- ^ «Форум дистрибутива — Какая система инициализации Artix используется по умолчанию?» . Проверено 30 октября 2023 г.
- ^ «Стабильная версия Devuan ASCII 2.0.0» . Проверено 18 января 2021 г.
- ^ «руководство пользователя» . Гитхаб . Проверено 6 апреля 2020 г.
- ^ «Руководство по сервисному сценарию» . Гитхаб . Проверено 6 апреля 2020 г.
- ^ «OpenRC/openrc-инит» . 6 февраля 2023 г. . Проверено 7 октября 2023 г.
- ^ «руководство по запуску» . Гитхаб . Проверено 6 апреля 2020 г.
- ^ «Руководство по S6» . Гитхаб . Проверено 6 апреля 2020 г.
- ^ «Поддержка CGroups» . Проверено 5 апреля 2020 г.