GNU Shepherd, en service manager udviklet af Guix

Efter to år med dannelsen af ​​den sidste store version, blev annonceret, da han offentliggjorde lanceringen af den nye version af servicemanageren GNU Shepherd 0.9 (tidligere kendt som dmd), som bliver udviklet af udviklerne af GNU Guix-distributionen som et alternativ til systemafhængighedsbevidst SysV-init-initialisering.

Shepherd giver brugerrumsfunktionalitet asynkront som tjenester, som i Shepherd er generiske funktioner og objektdatatyper, der eksporteres til brug af Shepherd til at udvide basisoperativsystemet på en defineret måde. I modsætning til systemd kører en brugerpladsovervågningsproces som denne bruger.

Om Shepherd

Kernen i Shepherd-modellen for initialisering af brugerrum er begrebet udvidelse, en form for sammensætning, hvor tjenester er designet til at overlejre andre tjenester og udvide dem med mere udførlig eller specialiseret adfærd efter ønske. Dette udtrykker de instansieringsbaserede afhængighedsforhold, der findes i mange moderne opstartssystemer, som gør systemet modulopbygget, men tillader også tjenester at interagere variabelt med hinanden tjenester vilkårligt.

Shepherd leverer også såkaldte virtuelle tjenester der tillader dynamisk afsendelse på en klasse af relaterede serviceobjekter, såsom dem, der instansierer en mailoverførselsagent (MTA) for systemet.

Et system styret af Shepherd-dæmonen kan repræsentere sit brugerrum som en rettet acyklisk graf med "systemtjenesten" (ansvarlig for de tidlige opstarts- og opstartsfaser) som root og alle efterfølgende initialiserede tjenester som udvidelser af funktionaliteten af ​​systemtjenesten , enten direkte eller transitivt over andre tjenester.

Bliver skrevet og konfigureret i Guile Scheme, GNU Shepherd er designet til at være meget programmerbar af systemadministratoren, men kan også bruges til at administrere profiler pr. bruger af ikke-privilegerede dæmoner og tjenester.

Dine tjenester og indstillinger gemmes ensartet som skemakode objektorienteret, og selvom et kernesæt af tjenester leveres med det grundlæggende Guix-system, kan vilkårlige nye tjenester fleksibelt deklareres, og gennem Guiles objektsystem, GOOPS, kan eksisterende tjenester omdefineres efter brugerens skøn ved at bede Shepherd, der dynamisk omskriver tjenester i specifikke måder at instansiere på.

GNU Shepherd blev oprindeligt designet til at arbejde med GNU Hurd og blev senere adopteret af Guix-systemet.

De vigtigste nye funktioner i GNU Shepherd 0.9

I denne nye version, der præsenteres, fremhæves det begrebet midlertidige ydelser implementeres (transient), som automatisk afbrydes efter terminering på grund af procesterminering eller "stop"-metodekald, som kan være påkrævet for syntetiserede tjenester, der ikke kan genstartes efter terminering.

En anden af ​​de ændringer, der skiller sig ud er for tjenester uden parameteren "#:log-fil"., output til syslog leveres og for tjenester med parameteren "#:log-file" skrives loggen til en separat fil, der angiver tidspunktet for logfiler i den uprivilegerede Shepherd-proces, der er gemt i mappen $XDG_DATA_DIR.

Derudover er det bemærkelsesværdigt, at proceduren "make-inetd-constructor" blev tilføjet for at skabe tjenester svarende til inetd, og at proceduren "make-systemd-constructor" blev tilføjet for at skabe tjenester, der aktiveres i netværksaktivitet (stil systemd socket aktivering).

Af de andre ændringer der skiller sig ud fra denne nye version:

  • Tilføjet en procedure for at starte baggrundstjenesten:
  • Tilføjede ":supplementary-groups", "#:create-session" og "#:resource-limits" parametre til "make-forkexec-constructor" proceduren.
  • Garanteret låsefri drift, mens du venter på PID-filer.
  • Fjernet understøttelse af kompilering med Guile 2.0. Rettede problemer ved brug af Guile version 3.0.5-3.0.7.
  • Fibres library 1.1.0 eller nyere er nu påkrævet for at fungere.
  • Forbedret dokumentation og eksempler
  • Shepherd kan ikke længere bygges med Guile 2.0
  • Rette i Guile 3.0 compiler fejl.[5-7]
  • Opdaterede oversættelser

Endelig hvis du er interesseret i at vide mere om det eller du ønsker at få denne nye version, kan du konsultere detaljerne, dokumentationen og downloade fra følgende link.


Indholdet af artiklen overholder vores principper for redaktionel etik. Klik på for at rapportere en fejl her.

Vær den første til at kommentere

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort.

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.