GNU Shepherd 0.9.2 init-süsteemi väljalase

Ilmunud on teenusehaldur GNU Shepherd 0.9.2 (endine dmd), mida arendavad GNU Guix System distributsiooni arendajad alternatiivina sõltuvusi toetavale SysV-init lähtestamissüsteemile. Shepherdi juhtimisdeemon ja utiliidid on kirjutatud Guile keeles (üks skeemikeele rakendustest), mida kasutatakse ka teenuste käivitamise sätete ja parameetrite määratlemiseks. Shepherd on juba kasutusel GuixSD GNU/Linuxi distributsioonis ja on mõeldud kasutamiseks ka GNU/Hurdis, kuid võib töötada mis tahes POSIX-iga ühilduvas OS-is, mille jaoks on saadaval Guile'i keel.

Shepherd teeb teenuste käivitamise ja peatamise töö, võttes arvesse teenuste vahelisi seoseid, tuvastades ja käivitades dünaamiliselt teenuseid, millest valitud teenus sõltub. Shepherd toetab ka teenustevaheliste konfliktide tuvastamist ja nende samaaegse käitamise takistamist. Projekti saab kasutada nii peamise lähtestamissüsteemina (init koos PID 1-ga) kui ka eraldi vormis üksikute kasutajate taustprotsesside haldamiseks (näiteks tor, privoxy, mcron jne käitamiseks) koos õigustega täitmisega nendest kasutajatest.

Muudatuste hulgas:

  • Shepherdis kasutatavad failideskriptorid on nüüd tähistatud lipuga O_CLOEXEC (close-on-exec), selle asemel, et neid kohe exec-käsu täitmisel sulgeda, võimaldades käepidemeid edastada teenustele, mida käivitab kaudselt käsk exec-käsk.
  • Kliendiühendusi töödeldakse nüüd mitteblokeerivalt, mis ei lase karjasel mittetäieliku käsu saatmisel rippuda.
  • Tagab, et sättes "logifail" määratletud logifailide jaoks luuakse kataloog, kui seda pole olemas.

Allikas: opennet.ru

Lisa kommentaar