GNU Shepherd, Guixin kehittämä palvelupäällikkö

Kahden vuoden kuluttua edellisen pääversion julkaisemisesta julkistettiin GNU Shepherd -palvelunhallintaohjelman uuden version 0.9 (aiemmin tunnettu nimellä dmd) julkaisu. GNU Guix -jakelun kehittäjät kehittävät sitä vaihtoehtona järjestelmäriippuvuuksia tunnistavalle SysV-init-alustukselle.

Shepherd tarjoaa käyttäjätilan toiminnallisuutta asynkronisesti palveluina (Services) . Nämä Shepherdissä ovat yleisiä funktioita ja objektitietotyyppejä, jotka viedään Shepherdille peruskäyttöjärjestelmän laajentamiseksi määritellyllä tavalla. Toisin kuin systemd, käyttäjätilan valvontaprosessi suoritetaan kyseisen käyttäjän nimissä.

Tietoja Shepherdistä

Shepherdin käyttäjätilan alustusmallin ydin on laajennuksen käsite, joka on koottavuusmuoto, jossa palvelut suunnitellaan päällekkäin muiden palveluiden kanssa ja täydennetään niitä halutulla tavalla monimutkaisemmilla tai erikoistuneemmilla toimilla. Tämä ilmaisee monissa nykyaikaisissa alustusjärjestelmissä esiintyviä instanssipohjaisia ​​riippuvuussuhteita, mikä tekee järjestelmästä modulaarisen, mutta mahdollistaa myös palveluiden vuorovaikutuksen muiden palveluiden kanssa vaihtelevasti mielivaltaisilla tavoilla.

Shepherd tarjoaa myös niin sanottuja virtuaalipalveluita , jotka mahdollistavat dynaamisen toimituksen toisiinsa liittyvien palveluobjektien luokan kautta, kuten kaikki ne, jotka luovat järjestelmälle sähköpostinsiirtoagentin (MTA) instansseja.

Shepherd-daemonin hallitsema järjestelmä voi esittää käyttäjätilansa suunnattuna asyklisenä graafina, jossa "järjestelmäpalvelu" (vastaa varhaiskäynnistys- ja käynnistysvaiheista) root-käyttäjänä ja kaikki myöhemmät alustetut palvelut järjestelmäpalvelun toiminnallisuuden laajennuksina. , joko suoraan tai transitiivisesti muiden palvelujen yli.

Koska GNU Shepherd on kirjoitettu ja konfiguroitu Guile Scheme -kielellä, se on suunniteltu järjestelmänvalvojan helposti ohjelmoitavaksi , mutta sitä voidaan käyttää myös käyttäjäkohtaisten, etuoikeuttamattomien daemonien ja palveluiden profiilien hallintaan.

Sen palvelut ja kokoonpano tallennetaan yhdenmukaisesti oliopohjaisena Scheme-koodina, ja vaikka perus-Guix-järjestelmään sisältyy ydinpalveluita, mielivaltaisia ​​uusia palveluita voidaan määrittää joustavasti. Guilen oliojärjestelmän GOOPS:n kautta olemassa olevia palveluita voidaan määritellä uudelleen käyttäjän harkinnan mukaan pyytämällä Shepherdiä kirjoittamaan palvelut dynaamisesti uudelleen tietyillä tavoilla instanssin luonnin yhteydessä.

GNU Shepherd suunniteltiin alun perin toimimaan GNU Hurdin kanssa, ja myöhemmin Guix-järjestelmä omaksui sen.

GNU Shepherd 0.9:n tärkeimmät uudet ominaisuudet

Tämä uusi versio korostaa väliaikaisten (transienttien) palveluiden konseptin toteutusta . Nämä palvelut katkaistaan ​​automaattisesti prosessin päättymisen tai "stop"-metodin kutsun vuoksi. Tätä menetelmää voidaan tarvita syntetisoiduille palveluille, joita ei voida käynnistää uudelleen päättymisen jälkeen.

Toinen huomattava muutos on, että palveluille, joilla ei ole "#:log-file"-parametria , tuloste annetaan syslog-lokiin , ja palveluille, joilla on "#:log-file"-parametri, loki kirjoitetaan erilliseen tiedostoon, joka osoittaa lokien ajankohdat etuoikeuttamattomassa Shepherd-prosessissa. Tämä tiedosto tallennetaan $XDG_DATA_DIR-hakemistoon.

Lisäksi on huomionarvoista, että "make-inetd-constructor" -menettely lisättiin luomaan samanlaisia ​​palveluja kuin inetd ja että "make-systemd-constructor" -proseduuri lisättiin luomaan palveluita, jotka aktivoidaan verkkotoiminnassa (tyyli systemd socket). aktivointi).

Muita merkittäviä muutoksia tässä uudessa versiossa ovat:

  • Lisätty menettely taustapalvelun käynnistämiseksi:
  • Lisätty parametrit ":supplementary-groups", "#:create-session" ja "#:resource-limits" "make-forkexec-constructor" -menettelyyn.
  • Taattu lukitsematon toiminta PID-tiedostoja odotellessa.
  • Guile 2.0 -kääntämisen tuki poistettu. Korjattu ongelmat käytettäessä Guile-versioita 3.0.5-3.0.7.
  • Fibres-kirjaston versio 1.1.0 tai uudempi tarvitaan nyt toimiakseen.
  • Paranneltu dokumentaatio ja esimerkit
  • Shepherdia ei voi enää rakentaa Guile 2.0:lla
  • Korjaa Guile 3.0 -kääntäjän virhe.[5-7]
  • Päivitetyt käännökset

Lopuksi, jos olet kiinnostunut oppimaan lisää tai haluat hankkia tämän uuden version, voit tutustua yksityiskohtiin, dokumentaatioon ja ladata sen seuraavasta linkistä.


Lisää ensisijaiseksi lähteeksi Googlessa