A GNU Shepherd 0.9.2 init rendszer kiadása

Megjelent a GNU Shepherd 0.9.2 (korábban dmd) szolgáltatáskezelő, amelyet a GNU Guix System disztribúció fejlesztői fejlesztenek a függőségeket támogató SysV-init inicializációs rendszer alternatívájaként. A Shepherd vezérlő démon és a segédprogramok a Guile nyelven (a Scheme nyelv egyik implementációja) vannak megírva, amely a szolgáltatások indításához szükséges beállítások és paraméterek meghatározására is szolgál. A Shepherd már használatban van a GuixSD GNU/Linux disztribúcióban, és GNU/Hurdban is használható, de futhat bármely POSIX-kompatibilis operációs rendszeren, amelyhez a Guile nyelv elérhető.

A Shepherd a szolgáltatások indításának és leállításának munkáját a szolgáltatások közötti kapcsolatok figyelembevételével végzi, dinamikusan azonosítja és elindítja azokat a szolgáltatásokat, amelyektől a kiválasztott szolgáltatás függ. A Shepherd emellett támogatja a szolgáltatások közötti konfliktusok észlelését és azok egyidejű futásának megakadályozását. A projekt használható fő inicializálási rendszerként (init 1-es PID-vel), és különálló formában az egyes felhasználók háttérfolyamatainak kezelésére (például tor, privoxy, mcron stb. futtatására), a jogosultságokkal történő végrehajtással. ezen felhasználók közül.

A változások között:

  • A Shepherdben használt fájlleírók mostantól az O_CLOEXEC (close-on-exec) jelzővel vannak megjelölve, ahelyett, hogy azonnal bezárnának egy exec-parancs végrehajtásakor, lehetővé téve a leírók átadását az exec-parancs által közvetetten elindított szolgáltatásoknak.
  • Az ügyfélkapcsolatok feldolgozása immár nem blokkoló módon történik, ami megakadályozza, hogy a pásztor lefagyjon egy hiányos parancs elküldésekor.
  • Biztosítja, hogy létrejöjjön egy könyvtár a „naplófájl” beállításban meghatározott naplófájlok számára, ha az nem létezik.

Forrás: opennet.ru

Hozzászólás