GNU Shepherd 0.8 init -järjestelmän julkaisu

Saatavilla palvelupäällikkö GNU Shepherd 0.8 (ex dmd), jota GNU Guix System -jakelun kehittäjät kehittävät riippuvuustietoisena vaihtoehtona SysV-init-alustusjärjestelmälle. Shepherd Control Daemon ja apuohjelmat on kirjoitettu Guile-kielellä (yksi Scheme-kielen toteutuksista), jota käytetään myös palvelujen käynnistämisen asetusten ja parametrien määrittämiseen. Shepherd on jo käytössä GuixSD GNU/Linux -jakelussa, ja se on myös tarkoitettu käytettäväksi GNU/Hurdissa, mutta se voi toimia missä tahansa POSIX-yhteensopivassa käyttöjärjestelmässä, jolle Guile-kieli on saatavilla.

Shepherdia voidaan käyttää sekä pääalustusjärjestelmänä (init PID 1:llä) että erillisessä muodossa yksittäisten käyttäjien taustaprosessien hallintaan (esimerkiksi tor-, privoxy-, mcron-ajon jne.) suorittamiseen oikeuksilla näitä käyttäjiä. Shepherd tekee palveluiden käynnistämisen ja lopettamisen ottamalla huomioon palveluiden väliset suhteet, tunnistamalla ja käynnistämällä dynaamisesti palvelut, joista valittu palvelu riippuu. Shepherd tukee myös palveluiden välisten ristiriitojen havaitsemista ja niiden samanaikaisen toiminnan estämistä.

Tärkeimmät innovaatiot:

  • Make-kill-destructor -työkalut tappavat ryhmän prosesseja;
  • Lisätty parametri "default-pid-file-timeout", joka määrittää odotusajan PID-tiedoston luomiseen;
  • Jos PID-tiedosto ei ilmesty aikakatkaisun aikana, koko prosessiryhmä lopetetaan (päättää ongelma työprosessien jättäminen ilman PID-tiedostoa);
  • Lisätty parametri “#:file-creation-mask” kohtaan “make-forkexec-constructor”, lokitiedoston luonti toteutettu ja vanhan kutsutavan tuki lakkasi;
  • Ratkaistiin kääntämisen ongelmat järjestelmissä, joissa ei ole prctl:ää, kuten GNU/Hurd;
  • Korjattu ongelma, joka aiheutti SIGALRM-lähetyksen joka sekunti.

Lähde: opennet.ru

Lisää kommentti