OpenRC je init sistem koji je zasnovan na zavisnosti za operativne sisteme računara koji su slični Unix- u. Kreirao ga je Roj Marples, NetBSD programer koji je takođe bio aktivan u Gentoo projektu. [1] [2] Postao je šire prihvaćen kao init sistem izvan Gentoo projekta nakon odluke nekih Linuks distribucija da ne usvoje [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 pokreće <a href="https://en.wikipedia.org/wiki/Artix_Linux" rel="mw:ExtLink" title="Artix Linux" class="cx-link" data-linkid="96">Artix Linux</a>
Proces pokretanja

Usvajanje

uredi

OpenRC je podrazumevani [2]init sistem i/ili supervizor procesa za:

OpenRCje dostupan [5]init sistem i/ili supervizor procesa za:

Dizajn

uredi

OpenRC se sastoji od nekoliko modularnih komponenti, od kojih su glavne init (opciono), osnovni sistem za upravljanje zavisnošću i daemon supervizor (opciono). Napisan je u ljusci kompatibilnoj sa C i POSIX - prihvatljiv shell program (Portable Operating System Interface) , što ga čini upotrebljivim na BSD i Linuks sistemima.

Osnovni deo OpenRC-a se bavi upravljanjem zavisnostima i raščlanjivanjem init skripte. OpenRC radi tako što skenira nivoe pokretanja, gradi grafikon zavisnosti, a zatim pokreće skripte koje su potrebne da se izvrše . Završava se tek onda kada su skripte pokrenute. OpenRC podrazumevano koristi modifikovanu verziju start-stop-daemon-a za upravljanje daemon-ima. [7]

Init skripte svoje sličnosti dele sa skriptama koje se koriste u sysvinit- u, ali nude i nekoliko funkcija koje služe da se njihovo kreiranje pojednostavi. Pretpostavlja se da skripte imaju start(), stop() i status() ; a sistem koristi promenljive koje su već deklarisane da bi kreirao podrazumevane funkcije. [8] Funkcija zavisnosti se koristi za deklarisanje zavisnosti od drugih usluga koje bi se radile sa LSB zaglavljima u sysvinit-u. Konfiguracija i mehanizam su razdvojeni konfiguracionim datotekama u direktorijumu conf.d i init datotekama u direktorijumu init.d.

Openrc-init se prvi put pojavio u verziji 0.25 kao zamena za /sbin/init koja nije obavezna već opciona. Podržano je nekoliko drugih pokretača, uključujući sysvinit i [8]Busybox . [9]

Nadzirući-daemon se prvi put pojavio u verziji 0.21 dajući OpenRC mogućnosti nadzora. Može se omogućiti u init skripti za nadzirućeg-daemon da se pokrene i nadgleda daemon-a. Podržano je nekoliko drugih daemon-skih supervizora, uključujući [9]runit [10] i [10]s6 . [11]

Karakteristike

uredi
  • Prenosiv između Linuks- a, FreeBSD -a i NetBSD -a
  • Pokretanje paralelnog servisa (podrazumevano je da je isključeno)
  • Pokretanje koje je zasnovano na zavisnosti
  • Proces segregacije kroz [11]cgroups [12]
  • Ograničenja resursa po usluzi (ulimit)
  • Razdvajanje koda i konfiguracije (init.d / conf.d)
  • Proširive skripte za pokretanje
  • init skripte sa stanjem ( da li je već pokrenuta? )
  • Kompleksne init skripte za pokretanje više komponenti ( Samba [smbd and nmbd], NFS [nfsd, portmap, itd. ])
  • Automatsko izračunavanje zavisnosti i naručivanje usluga
  • Modularna arhitektura i razdvajanje opcionih komponenti ( cron, syslog )
  • Ekspresivno i fleksibilno rukovanje mrežom (uključujući VPN, mostove, itd. )
  • Opširni režim za otklanjanje grešaka

Reference

uredi
  1. ^ „History”. Pristupljeno 6. 4. 2020. 
  2. ^ „Developers”. Pristupljeno 6. 4. 2020. 
  3. ^ „Manjaro OpenRC 0.8.13 - reinventing init without systemd”. DistroWatch Weekly, Issue 612. 1. 6. 2015. Pristupljeno 2020-04-04. 
  4. ^ „5 Differences Between TrueOS & Linux”. Pristupljeno 6. 4. 2020. 
  5. ^ „Improving TrueOS: OpenRC”. Pristupljeno 6. 4. 2020. 
  6. ^ „Devuan ASCII 2.0.0 stable release” (na jeziku: engleski). Pristupljeno 2021-01-18. 
  7. ^ „user guide”. Pristupljeno 6. 4. 2020. 
  8. ^ „service script guide”. Pristupljeno 6. 4. 2020. 
  9. ^ OpenRC
  10. ^ „runit guide”. Pristupljeno 6. 4. 2020. 
  11. ^ „s6 Guide”. Pristupljeno 6. 4. 2020. 
  12. ^ „CGroups Support”. Pristupljeno 5. 4. 2020.