Téměř po roce od posledního vydání byla vydána nová verze správce služeb GNU Shepherd 0.10 (dříve známé jako dmd), což je bytí vyvinuté vývojáři distribuce GNU Guix jako alternativa k inicializaci SysV-init s ohledem na systémovou závislost.
Toto nové vydání GNU Shepherd 0.10 představuje 132 commitů dvou lidí a navíc je považován za vydání, protože řeší nedostatky a poskytuje nové funkce
Pomáhají pochopit stav systému.
GNU Shepherd je správce služeb napsaný v Guile, který se stará o „stádové“ démony běžící v systému, protože pposkytuje uživatelské funkce asynchronně jako služby Může být použit jako systémový init (PID 1) a také neprivilegovanými uživateli ke správě démonů jednotlivých uživatelů, např. tor, privoxy, mcron.
Je třeba poznamenat, že podporuje několik mechanismů spouštění démonů, včetně spouštěcí zásuvky ve stylu inetd a systemd. GNU Shepherd je konfigurován v Guile Scheme a lze jej rozšířit ve stejném jazyce. Je založen na jednoduchém programovacím modelu bezpečném pro paměť a bez zpětného volání.
Jádrem Shepherdova modelu inicializace uživatelského prostoru je koncept rozšíření, forma skládání, ve které jsou služby navrženy tak, aby překrývaly jiné služby a podle potřeby je rozšiřovaly o propracovanější nebo specializované chování.
Hlavní nové funkce GNU Shepherd 0.10
V této nové verzi GNU Shepherd 0.10, která je představena, to vyniká stavy nové zprostředkující služby: "spuštění" a "zastavení", které se zobrazí spuštěním příkazu "stav stáda" a určením, zda se služba spouští nebo zastavuje (dříve byly podporovány pouze stavy stáda „běží“ a „zastaveno“).
Další změna, která v nové verzi vyniká, je ta je zajištěno blokování opětovného provedení operací "start" a "stop" zda byla služba již spuštěna nebo zastavena (dříve provedení "stádo start SERVIS» vyústilo v pokus o spuštění druhé instance služby).
Kromě toho je také zdůrazněno, že je zajištěna paralelizace spouštění závislostí a služby spuštěné v režimu «start-in-the-background«, jakož i účtování doby poruch a změn stavu každé služby. Při provedení příkazu "stav stáda" se zobrazí akumulované statistiky.
Dále se můžeme setkat s tím, že přibyl příkaz „herd log“ pro zobrazení souhrnného protokolu událostí a seznamu všech změn ve stavu služby.
Z další změny které vynikají:
- Přidán příkaz "herd graph" pro generování dat, která umožňuje Graphviz ("herd graph | xdot -") použít k zobrazení vizuálního grafu závislostí.
- Bylo implementováno barevné zvýraznění výstupu příkazu stáda.
- Přidány nové služby: „monitoring“ pro sledování spotřeby zdrojů procesu a „repl“ pro spuštění ladícího rozhraní REPL (cyklus čtení-vyhodnocování-tisk).
- Rozhraní GOOPS (Guile Object Oriented Programming System) bylo zastaralé.
A konečně, pro ty, kteří mají zájem se o tom dozvědět více, můžete konzultovat podrobnosti v následující odkaz.
Jak nainstalovat GNU Shepherd?
Pro zájemce o možnost vyzkoušet si GNU Shepherd, jak již bylo zmíněno, Shepherd je vyvíjen ve spojení s projektem GNU Guix a je používán jako spouštěcí systém Guix.
I když takéShepherd není možné nainstalovat na žádnou distribuci Linuxu, tedy pro případ těch, kteří jsou Uživatelé arch Linuxu stačí mít povoleno úložiště AUR a zadat následující příkaz:
yay -S shepherd
Pro všechny ostatní distribuce instalaci lze provést kompilací zdrojového kódu a k tomu stačí otevřít terminál a zadat do něj:
wget https://ftp.gnu.org/gnu/shepherd/shepherd-0.10.0.tar.gz
Extrahujeme pomocí:
tar -xvf shepherd/shepherd-0.10.0.tar.gz
Vstupujeme do adresáře pomocí:
cd shepherd-0.10.0
A pokračujeme v kompilaci s:
./configure --prefix=/some/where
make
make check
make install