Izdanje GNU Shepherd 0.9.2 init sistema

Objavljen je servis menadžer GNU Shepherd 0.9.2 (ranije dmd), koji razvijaju programeri distribucije GNU Guix sistema kao alternativu sistemu inicijalizacije SysV-init koji podržava zavisnosti. Shepherd kontrolni demon i uslužni programi su napisani 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 upotrebi 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 pokretajući usluge od kojih ovisi odabrana usluga. Shepherd također podržava otkrivanje sukoba između usluga i sprječavanje njihovog istovremenog pokretanja. Projekat se može koristiti i kao glavni sistem za inicijalizaciju (init sa PID 1), i u zasebnom obliku za upravljanje pozadinskim procesima pojedinačnih korisnika (na primjer, za pokretanje tor, privoxy, mcron, itd.) uz izvršavanje sa pravima ovih korisnika.

Među promjenama:

  • Deskriptori datoteka koji se koriste u Shepherd-u sada su označeni oznakom O_CLOEXEC (close-on-exec) umjesto da se zatvaraju odmah kada se izvrši exec-naredba, što omogućava prosljeđivanje ručki uslugama koje je indirektno pokrenula exec-naredba.
  • Klijentske veze se sada obrađuju na neblokirajući način, što onemogućuje Shepherd da visi prilikom slanja nepotpune komande.
  • Osigurava da se kreira direktorij za datoteke dnevnika definirane u postavci “log-file” ako ne postoji.

izvor: opennet.ru

Dodajte komentar