Utgivelse av GNU Shepherd 0.6 init-systemet

Introdusert serviceleder GNU Shepherd 0.6 (tidligere dmd), som utvikles av utviklerne av GuixSD GNU/Linux-distribusjonen som et avhengighetsstøttende alternativ til SysV-init-initialiseringssystemet. Shepherd-kontrolldaemonen og verktøyene er skrevet på Guile-språket (en av implementeringene av Scheme-språket), som også brukes til å definere innstillinger og parametere for lansering av tjenester. Shepherd brukes allerede i GuixSD GNU/Linux-distribusjonen og er også rettet mot bruk i GNU/Hurd, men kan kjøres på et hvilket som helst POSIX-kompatibelt OS som Guile-språket er tilgjengelig for.

Shepherd kan brukes både som hovedinitialiseringssystem (init med PID 1), og i en egen form for å administrere bakgrunnsprosesser til individuelle brukere (for eksempel for å kjøre tor, privoxy, mcron, etc.) med utførelse med rettighetene til disse brukerne. Shepherd gjør arbeidet med å starte og stoppe tjenester ved å ta hensyn til relasjonene mellom tjenester, dynamisk identifisere og starte tjenestene som den valgte tjenesten er avhengig av. Shepherd støtter også å oppdage konflikter mellom tjenester og hindre dem i å kjøre samtidig.

Hovedinnovasjoner:

  • Lagt til tjenestemodus et skudd,
    der en tjeneste er merket som stoppet umiddelbart etter en vellykket lansering, som kan være nødvendig for å kjøre engangsjobber før andre tjenester, for eksempel for å utføre rengjøring eller initialisering;

  • Sørget for at filer med sockets slettes etter avslutning
    hyrde;

  • Kommandoen "flokkstopp" viser ikke lenger en feil når den utføres på en allerede stoppet tjeneste;
  • Besetningsverktøyet returnerer nå en returkode som ikke er null hvis oppgavestarten mislykkes;
  • Når du kjører i en container, ignoreres innlastingsrelaterte feil.

Kilde: opennet.ru

Legg til en kommentar