OpenRC - OpenRC

OpenRC
Ursprungliga författare Roy Marples
Utvecklare OpenRC -utvecklare
Initial release 5 april 2007 ; 14 år sedan ( 2007-04-05 )
Stabil frisättning
0.44.3 / 15 april 2021 ; 4 månader sedan ( 2021-04-15 )
Förvar
Skrivet i C , Shell
Operativ system Linux , FreeBSD , NetBSD , TrueOS
Storlek ~ 900 KB
Typ Initial demon
Licens 2-klausul BSD-licens
Hemsida www .gentoo .org /proj /sv /base /openrc /

OpenRC är ett beroende baserat init system för Unix-liknande dator operativsystem . Det skapades av Roy Marples, en NetBSD -utvecklare som också var aktiv i Gentoo -projektet. Det blev mer allmänt antaget som ett init -system utanför Gentoo efter beslutet från vissa Linux -distributioner att inte anta systemd .

OpenRC är standard init-systemet för Gentoo , Alpine Linux , Hyperbola GNU/Linux-libre , Parabola GNU/Linux-libre , Artix Linux , Maemo Leste , TrueOS , Funtoo och andra Unix-liknande system, medan några andra som Devuan erbjuder det som ett alternativ. Det betyder att programpaketen och demonerna för dessa system/distributioner stöder det, kommer med eller använder tillgängliga skript.

Startprocess

Design

OpenRC består av flera modulära komponenter, de viktigaste är ett init (tillval), kärnavfallshanteringssystemet och en demonmonitor (tillval). Den är skriven i C- och POSIX-kompatibelt skal, vilket gör den användbar på BSD- och Linux-system.

Kärnan i OpenRC hanterar beroendehantering och init -skript -analys. OpenRC fungerar genom att skanna runnivåerna, bygga ett beroendegraf och sedan starta de nödvändiga serviceskripten. Det avslutas när skripten har startats. Som standard använder OpenRC en modifierad version av start-stop-daemon för demonhantering.

Init -skript delar likheter med skript som används i sysvinit , men erbjuder flera funktioner för att förenkla skapandet. Manus antas ha start(), stop()och status(); och systemet använder redan deklarerade variabler för att skapa standardfunktionerna. Beroendefunktionen används för att deklarera beroenden till andra tjänster som skulle göras med LSB -rubriker i sysvinit. Konfiguration och mekanism separeras med konfigurationsfiler i conf.d -katalogen och init -filer i init.d -katalogen.

Openrc-init dök först upp i version 0.25 som en valfri ersättning för /sbin/init. Flera andra inits stöds, inklusive sysvinit och Busybox .

Supervise-daemon dök först upp i version 0.21 som ger openrc-övervakningsmöjligheter. Det kan aktiveras i init-skriptet för att supervise-daemon startar och övervakar en demon. Flera andra demonmonitorer stöds, inklusive runit och s6.

Funktioner

  • Bärbar mellan Linux, FreeBSD och NetBSD
  • Parallell tjänststart (av som standard)
  • Beroendebaserad uppstart
  • Process segregering genom cgroups
  • Resursgränser per tjänst (ulimit)
  • Separation av kod och konfiguration (init.d / conf.d)
  • Utökningsbara startskript
  • Stateful init -skript ( har det redan börjat? )
  • Komplexa init -skript för att starta flera komponenter ( Samba [smbd och nmbd], NFS [nfsd, portmap, etc.])
  • Automatisk beroendeberäkning och serviceorder
  • Modulär arkitektur och separation av valfria komponenter ( cron , syslog )
  • Expressiv och flexibel nätverkshantering (inklusive VPN , broar, etc.)
  • Ordligt felsökningsläge

Referenser

externa länkar