Izdanje sustava pokretanja GNU Shepherd 0.9

Dvije godine nakon formiranja posljednjeg značajnog izdanja, objavljen je upravitelj usluga GNU Shepherd 0.9 (bivši dmd), koji razvijaju programeri distribucije GNU Guix System kao alternativu sustavu inicijalizacije SysV-init koji podržava ovisnosti . Shepherd kontrolni demon i uslužni programi napisani su na jeziku Guile (jedna od implementacija jezika Scheme), koji se također koristi za definiranje postavki i parametara za pokretanje servisa. Shepherd se već koristi u GuixSD GNU/Linux distribuciji i također je namijenjen za korištenje u GNU/Hurdu, ali može raditi na bilo kojem OS-u kompatibilnom s POSIX-om za koji je dostupan jezik Guile.

Shepherd obavlja posao pokretanja i zaustavljanja usluga uzimajući u obzir odnose između usluga, dinamički identificirajući i pokrećući usluge o kojima odabrana usluga ovisi. Shepherd također podržava otkrivanje sukoba između usluga i sprječavanje njihovog istovremenog rada. Projekt se može koristiti i kao glavni sustav za inicijalizaciju (init s PID-om 1), iu zasebnom obliku za upravljanje pozadinskim procesima pojedinačnih korisnika (na primjer, za pokretanje tor, privoxy, mcron, itd.) s izvršenjem s pravima ovih korisnika.

Glavne inovacije:

  • Implementiran je koncept privremenih usluga (transient), automatski onemogućenih nakon završetka zbog prekida procesa ili poziva metode "stop", što može biti potrebno za sintetizirane usluge koje se ne mogu ponovno pokrenuti nakon gašenja.
  • Za stvaranje usluga sličnih inetd-u, dodan je postupak “make-inetd-constructor”.
  • Za stvaranje usluga koje se aktiviraju tijekom mrežne aktivnosti (u stilu aktivacije systemd utičnice), dodan je postupak "make-systemd-constructor".
  • Dodana procedura za pokretanje usluge u pozadini - “start-in-the-background”.
  • Dodani su parametri ":supplementary-groups", "#:create-session" i "#:resource-limits" u rutinu "make-forkexec-constructor".
  • Omogućen rad bez blokiranja dok se čekaju PID datoteke.
  • Za usluge bez parametra “#:log-file” omogućen je izlaz u syslog, a za usluge s parametrom #:log-file, dnevnik se zapisuje u zasebnu datoteku koja pokazuje vrijeme snimanja. Dnevnici neprivilegiranog pastirskog procesa pohranjeni su u direktoriju $XDG_DATA_DIR.
  • Podrška za izgradnju s Guile 2.0 je prekinuta. Problemi pri korištenju Guilea verzija 3.0.5-3.0.7 su riješeni.
  • Sada je za rad potrebna biblioteka Fibres 1.1.0 ili novija.

Izvor: opennet.ru

Dodajte komentar