Pre FreeBSD sa vyvíja nový správca systému s názvom rcd.

Baptiste Daroussin, člen jadrového tímu FreeBSD a autor správcu balíčkov pkg, vyvíja nový správca systému pre FreeBSD – rcd. Správca systému rcd je volaný procesom init namiesto /etc/rc, číta konfiguračné súbory služieb (/etc/rcd.d/*.ucl), vytvára strom závislostí a spúšťa služby paralelne, kedykoľvek je to možné. Potom monitoruje služby a v prípade potreby ich reštartuje.

Riadenie procesov na pozadí a operácií so službami je možné vykonávať priamym prenosom príkazov do socketu UNIX alebo pomocou utility príkazového riadka rctl. Súbory jednotiek s parametrami služieb sú formátované v UCL, ktorý sa podobá formátu nginx a konfiguračné súbory sú prepojené s prvkami prevzatými z JSON pre zjednodušenie automatizovaného spracovania. Je možné vytvárať šablóny typických súborov jednotiek a písať vstavané obslužné rutiny v jazyku Lua. Príklad súboru jednotiek na spustenie nginx: name = "nginx"; description = "Nginx HTTP Server"; type = "simple"; command = "/usr/local/sbin/nginx"; command_args = "-g 'daemon off;'"; provides = ["nginx", "http"]; requires = ["NETWORKING", "sshd"]; restart { policy = "always"; max_retries = 10; delay = 2000; backoff = "linear"; } process { user = "www"; group = "www"; cpuset = "0-3"; } rctl { memoryuse = { akcia = "odmietnuť"; množstvo = "2g"; }; pcpu = { akcia = "škrtiaca klapka"; množstvo = "80"; }; }

Namiesto použitia PID súborov sa sledovanie aktivity bežiacich procesov vykonáva pomocou deskriptorov vrátených systémovým volaním pdfork(). Existuje podpora pre aktiváciu služieb iba pri prístupe k sieťovému socketu a možnosť ochrany dôležitých služieb pred núteným ukončením v prípade nedostatku pamäte. Verziu procesu rcd na pozadí je možné aktualizovať za chodu bez straty stavu.

rctl sa používa na obmedzenie zdrojov dostupných pre službu a služby je možné spúšťať v uzavretých prostrediach pre úplnú izoláciu. Prístup k riadiacemu socketu UNIX je možné nakonfigurovať pre jednotlivé služby. Je podporovaný režim spánku.

Správca systému je plne spätne kompatibilný s existujúcim systémom sekvenčného spúšťania služieb rc.d a možno ho používať bez úpravy existujúcich skriptov rc.d a konfiguračných súborov. Jednoducho nainštalujte rcd na bežiaci systém a po reštarte bude všetko fungovať ako predtým, s výnimkou skrátených časov spúšťania v dôsledku paralelného spúšťania služieb. Táto kompatibilita zjednoduší migráciu systémov na rcd a umožní postupnú konverziu existujúcich skriptov rc.d do formátu súborov jednotiek.

Pre kompatibilitu s rc.d je podporovaný špeciálny typ jednotky „legacy“. Rcd prehľadáva obsah súborov /etc/rc.d/ a /usr/local/etc/rc.d/, analyzuje hlavičky PROVIDE/REQUIRE/BEFORE/KEYWORD v skriptoch, číta nastavenia súboru rc.conf a určuje stav vykonávania skriptu, potom spracováva každý skript ako virtuálnu jednotku legacy. Pri použití príkazu rcctl na správu takýchto virtuálnych jednotiek sa operácie prekladajú do staršieho formátu; napríklad spustenie príkazu „rcctl reload sshd“ spustí príkaz „/etc/rc.d/sshd reload“.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre stránky s DDoS ochranou, VPS VDS servery 🔥 Kúpte si spoľahlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster