Release av GNU Shepherd 0.6 init-systemet

Introducerad servicechef GNU Shepherd 0.6 (ex dmd), som utvecklas av utvecklarna av GuixSD GNU/Linux-distributionen som ett beroendestödjande alternativ till SysV-init-initieringssystemet. Shepherd-kontrolldemonen och verktygen är skrivna på Guile-språket (en av implementeringarna av Scheme-språket), som också används för att definiera inställningar och parametrar för att starta tjänster. Shepherd används redan i GuixSD GNU/Linux-distributionen och är också avsedd att användas i GNU/Hurd, men kan köras på vilket POSIX-kompatibelt operativsystem som helst för vilket Guile-språket är tillgängligt.

Shepherd kan användas både som huvudinitieringssystem (init med PID 1), och i en separat form för att hantera bakgrundsprocesser för enskilda användare (till exempel för att köra tor, privoxy, mcron, etc.) med exekvering med rättigheterna för dessa användare. Shepherd gör arbetet med att starta och stoppa tjänster genom att ta hänsyn till relationerna mellan tjänster, dynamiskt identifiera och starta de tjänster som den valda tjänsten är beroende av. Shepherd stöder också att upptäcka konflikter mellan tjänster och förhindra att de körs samtidigt.

Huvudsakliga innovationer:

  • Tillagt serviceläge ett skott,
    där en tjänst markeras stoppad omedelbart efter en framgångsrik lansering, vilket kan krävas för att starta engångsarbete före andra tjänster, till exempel för att utföra rengöring eller initiering;

  • Aktiverad radering av socket-filer efter avstängning
    herde;

  • Kommandot "flockstopp" visar inte längre ett fel när det körs på en redan stoppad tjänst;
  • Besättningsverktyget returnerar nu en returkod som inte är noll om aktivitetsstarten misslyckas;
  • Vid körning i en container ignoreras laddningsrelaterade fel.

Källa: opennet.ru

Lägg en kommentar