OpenRC - OpenRC

OpenRC
Originale forfattere Roy Marples
Udvikler (er) OpenRC -udviklere
Første udgivelse 5. april 2007 ; 14 år siden ( 2007-04-05 )
Stabil udgivelse
0.44.3 / 15. april 2021 ; 4 måneder siden ( 2021-04-15 )
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 .gentoo .org /proj /da /base /openrc /

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.

Opstartsproces

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

Referencer

eksterne links