OpenRC

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 5. august 2018; checks kræver 15 redigeringer .
OpenRC
Type init dæmon
Forfatter Roy Marples
Udvikler OpenRC-udviklere
Skrevet i C [1]
Operativ system Linux , FreeBSD , NetBSD
Første udgave 5. april 2007 ( 2007-apr-05 )
nyeste version 0.45.2 (3. juli 2022)
Licens 2-klausul BSD-licens
Internet side GentooWiki , GitWeb
 Mediefiler på Wikimedia Commons

OpenRC  er et afhængighedsbaseret init-system , der kører sammen med et init-program ( /sbin/init ). Den er fuldt ud kompatibel med Gentoo scripting , men kan stadig bruges på andre Linux- og BSD- distributioner . Det blev skabt af Roy Marples, en NetBSD-udvikler, som også var aktiv i Gentoo-projektet. [2] [3]

OpenRC giver de sædvanlige funktioner, der forventes af et moderne init-system: afhængighedsbaseret indlæsning, adskillelsesproces via cgroups (på Linux og andre systemer, adskillelse mellem forskellige runlevels), miljøvariable konfigurationer .

Operativsystemer som Gentoo , Alpine Linux , Hyperbola GNU/Linux-libre , Parabola GNU / Linux-libre , Maemo Leste , TrueOS og andre unix-lignende systemer bruger OpenRC , mens nogle andre som Devuan . Artix Linux tilbyder dette som én af mulighederne [4] . Dette betyder, at softwarepakkerne og Dæmonen for disse systemarkitekturer/ distributioner understøtter det, leverer det og/eller bruger tilgængelige scripts.

Design

OpenRC består af flere modulære komponenter, de vigtigste er /init (valgfrit), det primære afhængighedsstyringssystem og supervisor- dæmonen (valgfrit). Den er skrevet i C og en POSIX -kompatibel shell, hvilket gør den velegnet til brug på BSD- og Linux-systemer. Størstedelen af ​​OpenRC håndterer afhængighedsstyring og analyse af init -scriptudførelse.OpenRC fungerer ved at scanne runlevels, bygge en afhængighedsgraf og derefter køre den nødvendige scripting -tjeneste. Den afsluttes efter at have kørt scripts. Som standard bruger OpenRC en ændret version af start-stop-daemon til at administrere denne Daemon-tjeneste. [5]

Scripts ligner de scripts, der bruges i SysVinit- initialisering , men tilbyder flere funktioner, der gør dem nemmere at oprette. Scripts formodes at have start(), stop() og status(), og systemet bruger allerede erklærede variabler til at skabe standardfunktioner [6] . Afhængighedsfunktionen bruges til at erklære afhængigheder af andre tjenester, der skal udføres med LSB -headere i SysVinit . Konfigurationen og mekanismen er adskilt af konfigurationsfiler i conf.d-mappen og init-filer i init.d-mappen.

Openrc-init dukkede først op i version 0.25 som en valgfri erstatning for /sbin/init. Flere andre inits er understøttet, inklusive SysVinit og Busybox

Supervise-daemon dukkede først op i version 0.21, der muliggjorde openrc-overvågning. Det kan inkluderes i et init -script for en kontrol- dæmon at starte og styre en dæmon En dæmon - supervisor understøttes også med runit [7] og s6 [8] aktiveret .

Funktioner

OpenRC giver en række funktioner, som init-systemer såsom systemd , GNU Shepherd eller upstart har gjort innovative, såsom at køre hardware init - scripts eller understøttelse af cgroups . Implementeringen af ​​sådanne funktioner krævede ikke store ændringer, der radikalt ændrede design og afhængigheder.

Busybox og OpenRC integration

BusyBox kan bruges til at erstatte de fleste af de værktøjer, der er nødvendige for OpenRC ( awk , shell , init og andre POSIX -værktøjer) som hovedskal til OpenRC. Alle opkald, der normalt rejses af gaffel og exec , vil blive erstattet af hensyn til hastigheden.

Se også

Noter

  1. Open_rc Open Source-projektet på Open Hub: Languages-side - 2006.
  2. Historien om OpenRC . GitHub . Hentet 30. august 2020. Arkiveret fra originalen 18. februar 2018.
  3. "NetBSD-udviklere". (Hentet 30. august 2020). Hentet 30. august 2020. Arkiveret fra originalen 19. juli 2011.
  4. "Devuan ASCII 2.0.0 stabil udgivelse". 17. juli 2018 , devuan.org  (08/06/18). Arkiveret fra originalen den 23. september 2018. Hentet 30. august 2020.
  5. Brugervejledning  (engelsk) . GitHub . - "Start-Stop-Daemon OpenRC har sin egen modificerede version af ssd, som er historisk relateret og for det meste syntakskompatibel med Debians ssd, men er blevet omskrevet fra bunden." Hentet 30. august 2020. Arkiveret fra originalen 11. december 2021.
  6. Scriptreference, Brugervejledning, Grundlæggende  funktioner . GitHub . - "Alle servicescripts antages at have følgende funktioner: start() stop() status()". Hentet 11. marts 2022. Arkiveret fra originalen 11. november 2020.
  7. Startvejledning  . _ GitHub (6. april 2020). Hentet 30. august 2020. Arkiveret fra originalen 8. marts 2021.
  8. s6 manual  (eng.) . GitHub (30. august 2020). Hentet 30. august 2020. Arkiveret fra originalen 6. marts 2019.
  9. "CGroups Support".  (Hentet 5. april 2020). Arkiveret fra originalen den 25. januar 2021. Hentet 30. august 2020.

Links

OpenRC