Original author(s) | Roy Marples |
---|---|
Developer(s) | OpenRC Developers |
Initial release | 5 April 2007 |
Stable release | 0.45.2
/ 3 July 2022
|
Repository | |
Written in | C, Shell |
Operating system | Linux, FreeBSD, NetBSD |
Size | ~900 KB |
Type | Init daemon |
License | 2-clause BSD license |
Website | wiki.gentoo.org/wiki/Project:OpenRC |
OpenRC је init систем који је заснован на зависности за оперативне системе рачунара који су слични Unix- у. Креирао га је Рој Марплес, NetBSD програмер који је такође био активан у Gentoo пројекту. [1] [2] Постао је шире прихваћен као init систем изван Gentoo пројекта након одлуке неких Линукс дистрибуција да не усвоје [1]systemd . [3] [4] [5]
OpenRC је подразумевани [2]init систем и/или супервизор процеса за:
OpenRCје доступан [5]init систем и/или супервизор процеса за:
OpenRC се састоји од неколико модуларних компоненти, од којих су главне init (опционо), основни систем за управљање зависношћу и daemon супервизор (опционо). Написан је у љусци компатибилној са C и POSIX - прихватљив shell програм (Portable Operating System Interface) , што га чини употребљивим на BSD и Линукс системима.
Основни део OpenRC-а се бави управљањем зависностима и рашчлањивањем init скрипте. OpenRC ради тако што скенира нивое покретања, гради графикон зависности, а затим покреће скрипте које су потребне да се изврше . Завршава се тек онда када су скрипте покренуте. OpenRC подразумевано користи модификовану верзију старт-стоп-daemon-а за управљање daemon-има. [7]
Init скрипте своје сличности деле са скриптама које се користе у sysvinit- у, али нуде и неколико функција које служе да се њихово креирање поједностави. Претпоставља се да скрипте имају start()
, stop()
и status()
; а систем користи променљиве које су већ декларисане да би креирао подразумеване функције. [8] Функција зависности се користи за декларисање зависности од других услуга које би се радиле са LSB заглављима у sysvinit-у. Конфигурација и механизам су раздвојени конфигурационим датотекама у директоријуму conf.d и init датотекама у директоријуму init.d.
Openrc-init се први пут појавио у верзији 0.25 као замена за /sbin/init која није обавезна већ опциона. Подржано је неколико других покретача, укључујући sysvinit и [8]Busybox . [9]
Надзирући-daemon се први пут појавио у верзији 0.21 дајући OpenRC могућности надзора. Може се омогућити у init скрипти за надзирућег-daemon да се покрене и надгледа daemon-а. Подржано је неколико других daemon-ских супервизора, укључујући [9]runit [10] и [10]s6 . [11]