OpenRC | |
---|---|
Tyyppi | init daemon |
Tekijä | Roy Marples |
Kehittäjä | OpenRC-kehittäjät |
Sisään kirjoitettu | C [1] |
Käyttöjärjestelmä | Linux , FreeBSD , NetBSD |
Ensimmäinen painos | 5. huhtikuuta 2007 |
uusin versio | 0,45,2 (3. heinäkuuta 2022) |
Lisenssi | 2-lauseke BSD-lisenssi |
Verkkosivusto | GentooWiki , GitWeb |
Mediatiedostot Wikimedia Commonsissa |
OpenRC on riippuvuuteen perustuva init-järjestelmä , joka toimii init-ohjelman ( /sbin/init ) rinnalla. Se on täysin yhteensopiva Gentoon skriptien kanssa , mutta sitä voidaan silti käyttää muissa Linux- ja BSD -jakeluissa . Sen loi Roy Marples, NetBSD-kehittäjä, joka oli myös aktiivinen Gentoo-projektissa. [2] [3]
OpenRC tarjoaa tavalliset ominaisuudet, joita nykyaikaiselta init-järjestelmältä odotetaan: riippuvuuspohjainen lataus, erotteluprosessi cgroups-ryhmien kautta (Linuxissa ja muissa järjestelmissä, erottelu eri ajotasojen välillä), ympäristömuuttujien konfiguraatiot .
Käyttöjärjestelmät , kuten Gentoo , Alpine Linux , Hyperbola GNU/Linux-libre , Parabola GNU / Linux-libre , Maemo Leste , TrueOS ja muut unix-tyyppiset järjestelmät käyttävät OpenRC :tä , kun taas jotkut muut, kuten Devuan . Artix Linux tarjoaa tämän yhtenä yhtenäisenä vaihtoehdoista [4] . Tämä tarkoittaa, että näiden järjestelmäarkkitehtuurien/jakelujen ohjelmistopaketit ja Daemon tukevat sitä , toimittavat sen ja/tai käyttävät saatavilla olevia komentosarjoja.
OpenRC koostuu useista modulaarisista komponenteista, joista tärkeimmät ovat /init (valinnainen), pääriippuvuuden hallintajärjestelmä ja supervisor- daemon (valinnainen). Se on kirjoitettu C -kielellä ja POSIX -yhteensopivalla shellillä, joten se sopii käytettäväksi BSD- ja Linux-järjestelmissä. Suurin osa OpenRC:stä hoitaa riippuvuushallinnan ja aloitusskriptin suoritusanalyysin. OpenRC toimii skannaamalla ajotasot, rakentamalla riippuvuuskaavion ja suorittamalla sitten tarvittavan komentosarjapalvelun . Se poistuu skriptien suorittamisen jälkeen. Oletuksena OpenRC käyttää muokattua start-stop-daemon-versiota tämän Daemon-palvelun hallintaan. [5]
Skriptit ovat samanlaisia kuin SysVinitin alustuksessa käytetyt skriptit , mutta ne tarjoavat useita ominaisuuksia, jotka helpottavat niiden luomista. Skripteillä oletetaan olevan start(), stop() ja status() ja järjestelmä käyttää jo ilmoitettuja muuttujia oletusfunktioiden luomiseen [6] . Riippuvuusfunktiota käytetään ilmoittamaan riippuvuudet muista suoritettavista palveluista LSB - otsikoilla SysVinitissä . Asetukset ja mekanismit erotetaan conf.d-hakemistossa olevilla asetustiedostoilla ja init.d-hakemistossa olevilla init-tiedostoilla.
Openrc-init ilmestyi ensimmäisen kerran versiossa 0.25 valinnaisena korvaajana tiedostolle /sbin/init. Useita muita inittejä tuetaan, mukaan lukien SysVinit ja Busybox
Supervise-daemon ilmestyi ensimmäisen kerran versiossa 0.21, joka mahdollistaa openrc-valvonnan. Se voidaan sisällyttää aloitusskriptiin ohjausdemonin käynnistämiseksi ja hallitsemiseksi demonin valvojaa tuetaan myös runit [7] ja s6 [ 8] ollessa käytössä .
OpenRC tarjoaa useita ominaisuuksia, joista init-järjestelmät, kuten systemd , GNU Shepherd tai upstart, ovat tehneet innovatiivisia, kuten laitteiston init - komentosarjojen suorittamisen tai cgroups -tuen . Tällaisten toimintojen toteuttaminen ei vaatinut suuria muutoksia, jotka muuttavat radikaalisti suunnittelua ja riippuvuuksia.
BusyBoxilla voidaan korvata suurin osa OpenRC:n tarvitsemista apuohjelmista ( awk , shell , init ja muut POSIX -työkalut) OpenRC:n pääkuorena. Kaikki normaalisti haarukan ja execin korotetut kutsut korvataan nopeuden vuoksi.
OpenRC