OpenRC - OpenRC
Ursprungliga författare | Roy Marples |
---|---|
Utvecklare | OpenRC -utvecklare |
Initial release | 5 april 2007 |
Stabil frisättning | 0.44.3 / 15 april 2021
|
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 |
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.
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