GNU Shepherd, a Guix által kifejlesztett szolgáltatásmenedzser

Az utolsó nagy változat megalkotása után két évvel, – jelentették be, amikor közzétette az indulást a szolgáltatáskezelő új verziója GNU Shepherd 0.9 (korábbi nevén dmd), amely folyamatban van amelyet a GNU Guix disztribúció fejlesztői fejlesztettek ki a rendszerfüggőség-tudatos SysV-init inicializálás alternatívájaként.

Pásztor szolgáltatásként aszinkron módon biztosítja a felhasználói terület funkcionalitását, amelyek a Shepherdben általános függvények és objektumadattípusok, amelyeket a Shepherd exportál az alap operációs rendszer valamilyen meghatározott módon történő kiterjesztésére. A systemd-től eltérően a felhasználói terület megfigyelési folyamata az adott felhasználóként fut.

Pásztorról

A felhasználói tér inicializálásának Shepherd modelljének középpontjában a kiterjesztés fogalma áll, amely a kompozíció egy olyan formája, amelyben a szolgáltatásokat úgy alakítják ki, hogy más szolgáltatásokat lefedjenek, tetszőlegesen kidolgozottabb vagy speciálisabb viselkedéssel kiegészítve azokat. Ez a sok modern rendszerindító rendszerben megtalálható példányosítási alapú függőségi kapcsolatokat fejezi ki, amelyek modulárissá teszi a rendszert, de lehetővé teszi a szolgáltatások változó interakcióját is egymással szolgáltatások önkényesen.

Pásztor úgynevezett virtuális szolgáltatásokat is nyújt amelyek lehetővé teszik a dinamikus küldést a kapcsolódó szolgáltatásobjektumok osztályán, például azokon, amelyek egy levélátviteli ügynököt (MTA) példányosítanak a rendszer számára.

A Shepherd démon által vezérelt rendszer a felhasználói terét irányított aciklikus gráfként ábrázolhatja, ahol a "rendszerszolgáltatás" (amely a korai rendszerindítási és indítási fázisért felelős) rootként, az összes későbbi inicializált szolgáltatás pedig a rendszerszolgáltatás funkcionalitásának kiterjesztése. , akár közvetlenül, akár tranzitív módon más szolgáltatásokon keresztül.

Guile Scheme-ben írva és konfigurálva, A GNU Shepherd jól programozható legyen a rendszergazda által, de a nem privilegizált démonok és szolgáltatások felhasználónkénti profiljának kezelésére is használható.

A szolgáltatásait és beállításait egységesen rendszerkódként tároljuk objektum-orientált, és bár az alapvető Guix rendszerrel a szolgáltatások alapvető halmaza biztosított, tetszőleges új szolgáltatások rugalmasan deklarálhatók, és a Guile objektumrendszerén, a GOOPS-on keresztül a meglévő szolgáltatások újradefiniálhatók a felhasználó belátása szerint, megkérve a Shepherd-et, hogy dinamikusan írja át a szolgáltatásokat a példányosítás konkrét módjai.

A GNU Shepherd-et eredetileg a GNU Hurddal való együttműködésre tervezték, majd később a Guix rendszer vette át.

A GNU Shepherd 0.9 fő újdonságai

Ebben a bemutatott új verzióban kiemelik, hogy az ideiglenes szolgáltatások koncepciója valósul meg (tranziens), amelyek a folyamatlezárás vagy a "stop" metódushívás miatti leállás után automatikusan megszakadnak, amelyre olyan szintetizált szolgáltatások esetén lehet szükség, amelyeket a megszűnés után nem lehet újraindítani.

A másik kiemelkedő változás az a "#:log-file" paraméter nélküli szolgáltatásokhoz, kimenet a sysloghoz biztosított és a "#:log-file" paraméterrel rendelkező szolgáltatások esetében a napló egy külön fájlba kerül, amely jelzi a naplózás idejét a $XDG_DATA_DIR könyvtárban tárolt, privilegizált Shepherd folyamatban.

Ezen túlmenően meg kell jegyezni, hogy a "make-inetd-constructor" eljárást hozzáadták az inetd-hez hasonló szolgáltatások létrehozásához, valamint a "make-systemd-constructor" eljárást a hálózati tevékenységben aktivált szolgáltatások létrehozásához ( stílus systemd socket aktiválás).

A többi változás közül amelyek kiemelkednek ebből az új verzióból:

  • Eljárás hozzáadva a háttérszolgáltatás elindításához:
  • „:supplementary-groups”, „#:create-session” és „#:resource-limits” paraméterek hozzáadva a „make-forkexec-constructor” eljáráshoz.
  • Garantált zármentes működés a PID fájlok várakozása közben.
  • Eltávolítottuk a Guile 2.0-val történő fordítás támogatását. Javítva a Guile 3.0.5-3.0.7-es verzióival kapcsolatos problémák.
  • A Fibers könyvtár 1.1.0-s vagy újabb verziója szükséges a működéshez.
  • Továbbfejlesztett dokumentáció és példák
  • Shepherd már nem építhető Guile 2.0-val
  • Javítás a Guile 3.0 fordító hibájában.[5-7]
  • Frissített fordítások

Végül ha érdekel, hogy többet tudjon meg róla vagy szeretné megszerezni ezt az új verziót, tekintse meg a részleteket, a dokumentációt és töltse le a webhelyet a következő link.


Legyen Ön az első hozzászóló

Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.