Loading AI tools
Из Википедии, свободной энциклопедии
OpenRC — система инициализации на основе зависимостей, которая работает вместе с программой инициализации init. Она полностью совместима со сценариями Gentoo, но, тем не менее, может использоваться и в других дистрибутивах Linux и BSD. Он был создан Роем Марплсом, разработчиком NetBSD, который также принимал активное участие в проекте Gentoo.[2][3]
Эту статью предлагается удалить. |
OpenRC | |
---|---|
Тип | init демон |
Автор | Рой Марплс |
Разработчик | OpenRC Developers |
Написана на | Си[1] |
Операционные системы | Linux, FreeBSD, NetBSD |
Первый выпуск | 5 апреля 2007 |
Последняя версия | 0.45.2 (3 июля 2022г.) |
Репозиторий | github.com/OpenRC/openrc |
Лицензия | 2-clause BSD license |
Сайт | GentooWiki, GitWeb |
Медиафайлы на Викискладе |
OpenRC предоставляет обычные функции, ожидаемые от современной системы инициализации: загрузка на основе зависимостей, процесс сегрегации через cgroups (в Linux и других системах — разделение между разными уровнями запуска), конфигурации переменных среды.
Такие операционные системы как Gentoo, Alpine Linux, Hyperbola GNU/Linux-libre[англ.], Parabola GNU/Linux-libre, Maemo Leste, TrueOS и ряд других unix-подобных систем используют OpenRC, в то время как некоторые другие, такие как Devuan, Artix Linux предлагают её как один из вариантов[4]. Это означает, что программные пакеты и демоны этих операционных систем/дистрибутивов поддерживают его, поставляют и/или используют доступные скрипты.
OpenRC состоит из нескольких модульных компонентов, основными из которых является init (необязательная), основная система управления зависимостями и supervise-daemon (необязательно). Он написан на C и POSIX-совместимой оболочке, что делает его пригодным для использования в системах BSD и Linux. Основная система OpenRC занимается управлением зависимостями и анализом выполнения сценария инициализации. OpenRC работает путем сканирования уровней запуска, построения графа зависимостей и последующего запуска необходимой сценарной службы. Он завершается после запуска скриптов. По умолчанию OpenRC использует модифицированную версию start-stop-daemon для управления демонами.[5]
Скрипты имеют сходство со скриптами, используемыми в системе инициализации SysVinit, но предлагают несколько функций, упрощающих их создание. Предполагается, что сценарии имеют start(), stop() и status(), и система использует уже объявленные переменные для создания функций по умолчанию[6]. Функция зависимостей используется для объявления зависимостей от других служб, которые будут выполняться с заголовками LSB в SysVinit. Конфигурация и механизм инициализации разделены файлами настройки конфигурации в каталоге conf.d и файлами настройки инициализации в каталоге init.d.
Openrc-init впервые появился в версии 0.25 в качестве опциональной замены для init. Поддерживается несколько других систем инициализации, включая SysVinit и Busybox
Supervise-daemon впервые появился в версии 0.21, дающей возможность супервизора в openrc. Он может быть включен в init скрипте для supervise-daemon, чтобы он запускал и контролировал демоном. Поддерживаются так же другие супервизоры демонов, включая runit[7] и s6[8].
OpenRC обеспечивает ряд особенностей, которые преподносили инновационными такие системы инициализации, как systemd, GNU Shepherd или upstart, например, запуск аппаратных сценариев инициализации или поддержка cgroups. Реализация подобных функций не потребовала больших изменений, радикально изменяющих дизайн и зависимости.
BusyBox может использоваться, чтобы заменить большинство утилит, необходимых OpenRC (awk, shell, init, и другие POSIX-инструменты), в качестве основной оболочки. Все вызовы, как правило, возбуждаемые fork и exec, будут заменены ради повышения скорости.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.