GNU Shepherd 0.6 init sistēmas izlaišana

Iesniedzis servisa vadītājs GNU gans 0.6 (ex dmd), ko izstrādā GuixSD GNU/Linux izplatīšanas izstrādātāji kā atkarību atbalstošu alternatīvu SysV-init inicializācijas sistēmai. Shepherd vadības dēmons un utilītas ir rakstītas Guile valodā (viena no shēmas valodas implementācijām), kas tiek izmantota arī pakalpojumu palaišanas iestatījumu un parametru definēšanai. Shepherd jau tiek izmantots GuixSD GNU/Linux izplatīšanā, un tas ir paredzēts lietošanai arī GNU/Hurd, taču tas var darboties jebkurā ar POSIX saderīgā operētājsistēmā, kurai ir pieejama Guile valoda.

Shepherd var izmantot gan kā galveno inicializācijas sistēmu (init ar PID 1), gan atsevišķā formā atsevišķu lietotāju fona procesu pārvaldībai (piemēram, lai palaistu tor, privoxy, mcron utt.) ar izpildi ar tiesībām šiem lietotājiem. Shepherd pakalpojumu palaišanas un apturēšanas darbu veic, ņemot vērā pakalpojumu savstarpējās attiecības, dinamiski identificējot un iedarbinot pakalpojumus, no kuriem atkarīgs izvēlētais pakalpojums. Shepherd atbalsta arī konfliktu atklāšanu starp pakalpojumiem un neļauj tiem darboties vienlaikus.

Galvenie jauninājumi:

  • Pievienots servisa režīms Viens šāviens,
    kurā pakalpojums ir atzīmēts kā apturēts uzreiz pēc veiksmīgas palaišanas, kas var būt nepieciešams, lai veiktu vienreizējus darbus pirms citiem pakalpojumiem, piemēram, lai veiktu tīrīšanu vai inicializāciju;

  • Nodrošināts, lai faili ar ligzdām tiktu izdzēsti pēc izslēgšanas
    gans;

  • Komanda “ganāmpulka apturēšana” vairs nerāda kļūdu, ja tā tiek izpildīta jau apturētam pakalpojumam;
  • Ja uzdevuma palaišana neizdodas, ganāmpulka utilīta tagad atgriež atgriešanas kodu, kas nav nulle;
  • Darbojoties konteinerā, ar ielādi saistītās kļūdas tiek ignorētas.

Avots: opennet.ru

Pievieno komentāru