OpenRC је init систем који је заснован на зависности за оперативне системе рачунара који су слични Unix- у. Креирао га је Рој Марплес, NetBSD програмер који је такође био активан у Gentoo пројекту. [1] [2] Постао је шире прихваћен као init систем изван Gentoo пројекта након одлуке неких Линукс дистрибуција да не усвоје [1]systemd . [3] [4] [5]

OpenRC
Original author(s) Roy Marples
Developer(s) OpenRC Developers
Initial release 5 April 2007; 15 years ago (2007-04-05)
Stable release
0.45.2 / 3 July 2022; 52 days ago (2022-07-03)
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 покреће <a href="https://en.wikipedia.org/wiki/Artix_Linux" rel="mw:ExtLink" title="Artix Linux" class="cx-link" data-linkid="96">Artix Linux</a>
Процес покретања

Усвајање уреди

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]

Карактеристике уреди

  • Преносив између Линукс- а, FreeBSD -а и NetBSD
  • Покретање паралелног сервиса (подразумевано је да је искључено)
  • Покретање које је засновано на зависности
  • Процес сегрегације кроз [11]cgroups [12]
  • Ограничења ресурса по услузи (ulimit)
  • Раздвајање кода и конфигурације (init.d / conf.d)
  • Прошириве скрипте за покретање
  • init скрипте са стањем ( да ли је већ покренута? )
  • Комплексне init скрипте за покретање више компоненти ( Самба [smbd and nmbd], NFS [nfsd, portmap, итд. ])
  • Аутоматско израчунавање зависности и наручивање услуга
  • Модуларна архитектура и раздвајање опционих компоненти ( cron, syslog )
  • Експресивно и флексибилно руковање мрежом (укључујући VPN, мостове, итд. )
  • Опширни режим за отклањање грешака

Референце уреди

  1. ^ „History”. Приступљено 6. 4. 2020. 
  2. ^ „Developers”. Приступљено 6. 4. 2020. 
  3. ^ „Manjaro OpenRC 0.8.13 - reinventing init without systemd”. DistroWatch Weekly, Issue 612. 1. 6. 2015. Приступљено 2020-04-04. 
  4. ^ „5 Differences Between TrueOS & Linux”. Приступљено 6. 4. 2020. 
  5. ^ „Improving TrueOS: OpenRC”. Приступљено 6. 4. 2020. 
  6. ^ „Devuan ASCII 2.0.0 stable release” (на језику: енглески). Приступљено 2021-01-18. 
  7. ^ „user guide”. Приступљено 6. 4. 2020. 
  8. ^ „service script guide”. Приступљено 6. 4. 2020. 
  9. ^ OpenRC
  10. ^ „runit guide”. Приступљено 6. 4. 2020. 
  11. ^ „s6 Guide”. Приступљено 6. 4. 2020. 
  12. ^ „CGroups Support”. Приступљено 5. 4. 2020.