OpenRC

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

OpenRC покреће Artix Linux
Процес покретања

Усвајање

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

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.