Frigivelse af GNU Shepherd 0.6 init-systemet

Introduceret servicechef GNU Shepherd 0.6 (eks dmd), som udvikles af udviklerne af GuixSD GNU/Linux-distributionen som et afhængighedsunderstøttende alternativ til SysV-init-initialiseringssystemet. Shepherd-kontroldæmonen og hjælpeprogrammerne er skrevet på Guile-sproget (en af ​​implementeringerne af Scheme-sproget), som også bruges til at definere indstillinger og parametre for lancering af tjenester. Shepherd bruges allerede i GuixSD GNU/Linux-distributionen og er også rettet mod brug i GNU/Hurd, men kan køre på ethvert POSIX-kompatibelt OS, hvor Guile-sproget er tilgængeligt.

Shepherd kan bruges både som det primære initialiseringssystem (init med PID 1), og i en separat form til at styre baggrundsprocesser for individuelle brugere (for eksempel til at køre tor, privoxy, mcron osv.) med eksekvering med rettighederne til disse brugere. Shepherd udfører arbejdet med at starte og stoppe tjenester ved at tage hensyn til relationerne mellem tjenester, dynamisk identificere og starte de tjenester, som den valgte service afhænger af. Shepherd understøtter også registrering af konflikter mellem tjenester og forhindrer dem i at køre samtidigt.

Vigtigste innovationer:

  • Tilføjet servicetilstand et skud,
    hvor en tjeneste er markeret stoppet umiddelbart efter en vellykket lancering, hvilket kan være nødvendigt for at køre engangsjob før andre tjenester, for eksempel for at udføre rensning eller initialisering;

  • Sørget for, at filer med sockets slettes efter nedlukning
    fårehyrde;

  • Kommandoen "besætning stop" viser ikke længere en fejl, når den udføres på en allerede stoppet tjeneste;
  • Besætningsværktøjet returnerer nu en returkode, der ikke er nul, hvis opgavestarten mislykkes;
  • Når du kører i en container, ignoreres indlæsningsrelaterede fejl.

Kilde: opennet.ru

Tilføj en kommentar