GNU Shepherd, en service manager utviklet av Guix

Etter to år med dannelsen av den siste store versjonen, ble annonsert da han publiserte lanseringen av den nye versjonen av service manager GNU Shepherd 0.9 (tidligere kjent som dmd), som blir utviklet av utviklerne av GNU Guix-distribusjonen som et alternativ til systemavhengighetsbevisst SysV-init-initialisering.

Gjeter gir brukerplassfunksjonalitet asynkront som tjenester, som i Shepherd er generiske funksjoner og objektdatatyper som eksporteres for bruk av Shepherd for å utvide basisoperativsystemet på en definert måte. I motsetning til systemd, kjører en brukerplassovervåkingsprosess som den brukeren.

Om Shepherd

I kjernen av Shepherd-modellen for initialisering av brukerrom er konseptet utvidelse, en form for komponerbarhet der tjenester er utformet for å overlappe andre tjenester, og forsterke dem med mer forseggjort eller spesialisert oppførsel etter ønske. Dette uttrykker de instansiasjonsbaserte avhengighetsforholdene som finnes i mange moderne oppstartssystemer, som gjør systemet modulært, men lar også tjenester variere variabelt med hverandre tjenester vilkårlig.

Gjeter leverer også såkalte virtuelle tjenester som tillater dynamisk sending på en klasse av relaterte tjenesteobjekter, for eksempel de som instansierer en e-postoverføringsagent (MTA) for systemet.

Et system styrt av Shepherd-demonen kan representere brukerområdet sitt som en rettet asyklisk graf, med "systemtjenesten" (ansvarlig for de tidlige oppstarts- og oppstartsfasene) som root og alle påfølgende initialiserte tjenester som utvidelser av funksjonaliteten til systemtjenesten , enten direkte eller transitivt over andre tjenester.

Blir skrevet og konfigurert i Guile Scheme, GNU Shepherd er designet for å være svært programmerbar av systemadministratoren, men kan også brukes til å administrere per-brukerprofiler for ikke-privilegerte demoner og tjenester.

Tjenestene og innstillingene dine lagres enhetlig som ordningskode objektorientert og selv om et kjernesett med tjenester leveres med det grunnleggende Guix-systemet, kan vilkårlige nye tjenester fleksibelt deklareres, og gjennom Guiles objektsystem, GOOPS, kan eksisterende tjenester omdefineres etter brukerens skjønn ved å spørre Shepherd om å dynamisk omskrive tjenester i spesifikke måter på instansiering.

GNU Shepherd ble opprinnelig designet for å fungere med GNU Hurd og ble senere adoptert av Guix-systemet.

De viktigste nye funksjonene i GNU Shepherd 0.9

I denne nye versjonen som presenteres er det fremhevet at konseptet med midlertidige tjenester implementeres (transient), som automatisk kobles fra etter terminering på grunn av prosessterminering eller "stopp"-metodekall, som kan være nødvendig for syntetiserte tjenester som ikke kan startes på nytt etter terminering.

En annen av endringene som skiller seg ut er for tjenester uten parameteren "#:log-file"., utdata til syslog er gitt og for tjenester med parameteren "#:log-file", skrives loggen til en separat fil som indikerer tidspunktet for logger i den uprivilegerte Shepherd-prosessen som er lagret i katalogen $XDG_DATA_DIR.

I tillegg er det bemerkelsesverdig at "make-inetd-constructor"-prosedyren ble lagt til for å lage tjenester som ligner på inetd og at "make-systemd-constructor"-prosedyren ble lagt til for å lage tjenester som aktiveres i nettverksaktivitet (style systemd socket aktivering).

Av de andre endringene som skiller seg ut fra denne nye versjonen:

  • Lagt til en prosedyre for å starte bakgrunnstjenesten:
  • La ":supplementary-groups", "#:create-session" og "#:resource-limits" parametere til "make-forkexec-constructor" prosedyren.
  • Garantert låsefri drift mens du venter på PID-filer.
  • Fjernet støtte for kompilering med Guile 2.0. Rettet problemer ved bruk av Guile versjoner 3.0.5-3.0.7.
  • Fibers library 1.1.0 eller nyere kreves nå for å fungere.
  • Forbedret dokumentasjon og eksempler
  • Shepherd kan ikke lenger bygges med Guile 2.0
  • Rett opp i kompilatorfeilen i Guile 3.0.[5-7]
  • Oppdaterte oversettelser

Endelig hvis du er interessert i å vite mer om det eller du ønsker å skaffe denne nye versjonen, kan du se detaljene, dokumentasjonen og laste ned fra følgende lenke.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.