Lansarea sistemului de inițializare GNU Shepherd 0.9

După doi ani de la formarea anteriorului release semnificativ, a fost lansat managerul de servicii GNU Shepherd 0.9 (fost dmd), care este dezvoltat de dezvoltatorii distribuției GNU Guix System ca o alternativă la sistemul de inițializare SysV-init, care susține dependențe. Demonul manager și utilitarele Shepherd sunt scrise în limbajul Guile (o implementare a limbajului Scheme), care este folosit și pentru a defini setările și parametrii de lansare a serviciilor. Shepherd este deja utilizat în distribuția GuixSD GNU/Linux și este, de asemenea, destinat utilizării în GNU/Hurd, dar poate funcționa pe orice sistem de operare compatibil POSIX, pentru care este disponibil limbajul Guile.

Shepherd îndeplinește sarcinile de pornire și oprire a serviciilor, având în vedere interdependențele dintre serviciile respective, determinând și pornind dinamic serviciile de care depinde serviciul selectat. Shepherd suportă, de asemenea, definirea conflictelor dintre servicii și împiedică execuția lor simultană. Proiectul poate fi utilizat atât ca principal sistem de inițializare (init cu PID 1), cât și în mod izolat pentru gestionarea proceselor de fundal ale utilizatorilor individuali (de exemplu, pentru a rula tor, privoxy, mcron etc.) cu executarea drepturile utilizatorilor respectivi.

Noutăți principale:

  • A fost implementată concepția de servicii temporare (transient), care se dezactivează automat după finalizare, din cauza încetării funcționării procesului sau a invocării metodei „stop”, ceea ce poate fi necesar pentru serviciile sintetizate care nu pot fi repornite după ce au încetat funcționarea.
  • Pentru crearea de servicii asemănătoare inetd, a fost adăugată procedura „make-inetd-constructor”.
  • Pentru a crea servicii activate de activitatea de rețea (în stilul activării socket-ului systemd), a fost adăugată procedura „make-systemd-constructor”.
  • A fost adăugată o procedură pentru a porni serviciul în fundal – „start-in-the-background”.
  • Procedurii „make-forkexec-constructor” i-au fost adăugate parametrii „:supplementary-groups”, „#:create-session” și „#:resource-limits”.
  • S-a asigurat funcționarea fără blocare în timpul așteptării fișierelor PID.
  • Pentru serviciile fără parametru „#:log-file” a fost asigurat output-ul în syslog, iar pentru serviciile cu parametru „#:log-file” – înregistrarea logului într-un fișier separat cu indicația timpului înregistrărilor. Logurile din procesul neprivilegiat shepherd sunt salvate în directorul $XDG_DATA_DIR.
  • A fost oprită suportul pentru construcția cu Guile 2.0. Problemele la utilizarea versiunilor Guile 3.0.5-3.0.7 au fost rezolvate.
  • Pentru funcționare acum este necesară biblioteca Fibers 1.1.0 sau o versiune mai nouă.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster