Utgivelse av GNU Shepherd 0.9.2 init-systemet

Tjenestelederen GNU Shepherd 0.9.2 (tidligere dmd) er publisert, som utvikles av utviklerne av GNU Guix System-distribusjonen som et alternativ til SysV-init initialiseringssystemet som støtter avhengigheter. 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 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. Prosjektet 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 av disse brukerne.

Blant endringene:

  • Filbeskrivelser brukt i Shepherd er nå merket med O_CLOEXEC-flagget (close-on-exec) i stedet for å lukkes umiddelbart når en exec-kommando utføres, slik at håndtak kan sendes til tjenester som startes indirekte av en exec-kommando.
  • Klientforbindelser behandles nå på en ikke-blokkerende måte, noe som forhindrer at shepherd henger når en ufullstendig kommando sendes.
  • Sikrer at det opprettes en katalog for loggfiler som er definert i "logg-fil"-innstillingen hvis den ikke eksisterer.

Kilde: opennet.ru

Legg til en kommentar