Nakon dvije godine od nastanka posljednje glavne verzije, javnosti je najavljeno izlazak nove verzije GNU Shepherd servisnog upravitelja 0.9 (ranije poznatog kao dmd) . Razvijaju ga programeri GNU Guix distribucije kao alternativu inicijalizaciji SysV-init koja je svjesna sistemskih ovisnosti.
Shepherd pruža funkcionalnost korisničkog prostora asinkrono kao usluge , koje su u Shepherd-u generičke funkcije i tipovi podataka objekata izvezeni za Shepherd-a za korištenje u proširenju osnovnog operativnog sustava na definirani način. Za razliku od systemd-a, proces praćenja korisničkog prostora izvodi se kao taj korisnik.
O Shepherdu
Jezgra Shepherdovog modela inicijalizacije korisničkog prostora je koncept proširenja, oblik kompozibilnosti u kojem su usluge dizajnirane da se preklapaju s drugim uslugama, proširujući ih složenijim ili specijaliziranim ponašanjima prema želji. To izražava odnose ovisnosti temeljene na instanciranju koji se nalaze u mnogim modernim init sustavima, čineći sustav modularnim, ali i omogućujući uslugama varijabilnu interakciju s drugim uslugama na proizvoljne načine.
Shepherd također pruža takozvane virtualne usluge koje omogućuju dinamičku isporuku preko klase povezanih servisnih objekata, kao što su svi oni koji stvaraju instance agenta za prijenos pošte (MTA) za sustav.
Sustav kojim upravlja Shepherd demon može predstavljati svoj korisnički prostor kao usmjereni aciklički graf, sa "uslugom sustava" (odgovornom za rane faze pokretanja i pokretanja) kao root i svim naknadnim inicijaliziranim uslugama kao proširenjima funkcionalnosti sistemske usluge , izravno ili prijelazno preko drugih usluga.
Budući da je napisan i konfiguriran u Guile Schemi, GNU Shepherd je dizajniran da ga administrator sustava lako programabilno izvršava, ali se također može koristiti za upravljanje profilima neprivilegiranih demona i usluga po korisniku.
Njegove usluge i konfiguracija pohranjene su uniformno kao objektno orijentirani Scheme kod, i iako je osnovni skup usluga pružen s osnovnim Guix sustavom, proizvoljne nove usluge mogu se fleksibilno deklarirati, a putem Guileovog objektnog sustava, GOOPS, postojeće usluge mogu se redefinirati po nahođenju korisnika tražeći od Shepherd-a da dinamički prepiše usluge na određene načine prilikom instanciranja.
GNU Shepherd je izvorno dizajniran za rad s GNU Hurdom, a kasnije ga je usvojio Guix sustav.
Glavne nove značajke GNU Shepherd 0.9
Ova nova verzija ističe implementaciju koncepta privremenih (prolaznih) usluga, koje se automatski isključuju 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 završetka.
Još jedna značajna promjena je da se za servise bez parametra "#:log-file" izlaz dostavlja syslogu , a za servise s parametrom "#:log-file" zapisnik se zapisuje u zasebnu datoteku koja označava vrijeme zapisnika u neprivilegiranom Shepherd procesu, a koja se pohranjuje u direktoriju $XDG_DATA_DIR.
Osim toga, važno je napomenuti da je postupak "make-inetd-constructor" dodan za kreiranje usluga sličnih inetd i da je dodan postupak "make-systemd-constructor" za kreiranje usluga koje se aktiviraju u mrežnoj aktivnosti (stil systemd socket aktivacija).
Druge značajne promjene u ovoj novoj verziji uključuju:
- Dodan je postupak za pokretanje pozadinske usluge:
- Dodani parametri ":supplementary-groups", "#:create-session" i "#:resource-limits" u proceduru "make-forkexec-constructor".
- Zajamčen rad bez zaključavanja dok se čekaju PID datoteke.
- Uklonjena podrška za kompajliranje s Guile 2.0. Riješeni problemi pri korištenju Guile verzija 3.0.5-3.0.7.
- Biblioteka vlakana 1.1.0 ili novija sada je potrebna za rad.
- Poboljšana dokumentacija i primjeri
- Shepherd se više ne može izgraditi s Guile 2.0
- Popravak greške kompajlera Guile 3.0.[5-7]
- Ažurirani prijevodi
Konačno, ako ste zainteresirani saznati više ili želite nabaviti ovu novu verziju, možete pogledati detalje, dokumentaciju i preuzeti je sa sljedeće poveznice.