OpenRC - OpenRC
Originale forfattere | Roy Marples |
---|---|
Udvikler (er) | OpenRC -udviklere |
Første udgivelse | 5. april 2007 |
Stabil udgivelse | 0.44.3 / 15. april 2021
|
Depot | |
Skrevet i | C , Shell |
Operativ system | Linux , FreeBSD , NetBSD , TrueOS |
Størrelse | ~ 900 KB |
Type | Indledende dæmon |
Licens | 2-klausul BSD-licens |
Internet side | www |
OpenRC er en afhængighed-baserede init system til Unix-lignende computer operativsystemer . Det blev skabt af Roy Marples, en NetBSD -udvikler, der også var aktiv i Gentoo -projektet. Det blev mere bredt vedtaget som et init -system uden for Gentoo efter beslutningen fra nogle Linux -distributioner om ikke at vedtage systemd .
OpenRC er standard init-systemet til Gentoo , Alpine Linux , Hyperbola GNU/Linux-libre , Parabola GNU/Linux-libre , Artix Linux , Maemo Leste , TrueOS , Funtoo og andre Unix-lignende systemer, mens nogle andre som Devuan tilbyder det som en mulighed. Det betyder, at softwarepakkerne og dæmonerne i disse systemer/distributioner understøtter det, kommer med eller bruger de tilgængelige scripts.
Design
OpenRC består af flere modulære komponenter, de vigtigste er et init (valgfrit), kerneafhængighedsstyringssystemet og en dæmon -supervisor (valgfri). Den er skrevet i C- og POSIX-kompatibel skal, hvilket gør den anvendelig på BSD- og Linux-systemer.
Kernedelen af OpenRC håndterer afhængighedsstyring og init script -parsing. OpenRC fungerer ved at scanne run -niveauerne, opbygge en afhængighedsgraf og derefter starte de nødvendige servicescripts. Det afslutter, når scripts er startet. Som standard bruger OpenRC en modificeret version af start-stop-daemon til dæmonhåndtering.
Init scripts deler ligheder med scripts, der bruges i sysvinit , men tilbyder flere funktioner til at forenkle deres oprettelse. Scripts antages at have start()
, stop()
og status()
; og systemet bruger variabler, der allerede er deklareret til at oprette standardfunktionerne. Den afhængige funktion bruges til at erklære afhængigheder til andre tjenester, der ville blive udført med LSB -headere i sysvinit. Konfiguration og mekanisme adskilles med konfigurationsfiler i conf.d -biblioteket og init -filer i init.d -biblioteket.
Openrc-init dukkede først op i version 0.25 som en valgfri erstatning for /sbin/init
. Flere andre inits understøttes, herunder sysvinit og Busybox .
Supervise-daemon dukkede først op i version 0.21, hvilket giver openrc-overvågningsmuligheder. Det kan aktiveres i init-scriptet, så supervise-daemon kan starte og overvåge en dæmon. Flere andre dæmon -vejledere understøttes, herunder runit og s6.
Funktioner
- Bærbar mellem Linux, FreeBSD og NetBSD
- Parallel service start (slukket som standard)
- Afhængighedsbaseret opstart
- Process adskillelse gennem cgroups
- Ressourcegrænser pr. Service (ulimit)
- Adskillelse af kode og konfiguration (init.d / conf.d)
- Udvidelige opstartsscripts
- Stateful init scripts ( er det allerede startet? )
- Komplekse init -scripts til at starte flere komponenter ( Samba [smbd og nmbd], NFS [nfsd, portmap osv.])
- Automatisk afhængighedsberegning og serviceordre
- Modulær arkitektur og adskillelse af valgfrie komponenter ( cron , syslog )
- Ekspressiv og fleksibel netværkshåndtering (herunder VPN , broer osv.)
- Omfattende fejlfindingstilstand