Vrystelling van die GNU Shepherd 0.9 init-stelsel

Twee jaar na die vorming van die laaste beduidende vrystelling, is die diensbestuurder GNU Shepherd 0.9 (voorheen dmd) gepubliseer, wat ontwikkel word deur die ontwikkelaars van die GNU Guix System-verspreiding as 'n alternatief vir die SysV-init-initialiseringstelsel wat afhanklikhede ondersteun . Die Shepherd-beheerdaemon en nutsprogramme is in die Guile-taal geskryf (een van die implementerings van die Skema-taal), wat ook gebruik word om instellings en parameters vir die bekendstelling van dienste te definieer. Shepherd word reeds in die GuixSD GNU/Linux-verspreiding gebruik en is ook gemik op gebruik in GNU/Hurd, maar kan op enige POSIX-voldoenende bedryfstelsel werk waarvoor die Guile-taal beskikbaar is.

Shepherd doen die werk om dienste te begin en te stop deur die verhoudings tussen dienste in ag te neem, die dienste waarvan die geselekteerde diens afhanklik is, dinamies te identifiseer en te begin. Shepherd ondersteun ook die opsporing van konflikte tussen dienste en voorkoming daarvan om gelyktydig te loop. Die projek kan beide gebruik word as die hoof inisialiseringstelsel (init met PID 1), en in 'n aparte vorm om agtergrondprosesse van individuele gebruikers te bestuur (byvoorbeeld om tor, privoxy, mcron, ens.) met uitvoering met die regte te bestuur van hierdie gebruikers.

Belangrikste innovasies:

  • Die konsep van tydelike dienste (verbygaande) word geΓ―mplementeer, outomaties gedeaktiveer na voltooiing as gevolg van beΓ«indiging van die proses of oproep van die "stop"-metode, wat nodig mag wees vir gesintetiseerde dienste wat nie na afsluiting weer begin kan word nie.
  • Om inetd-agtige dienste te skep, is die "make-inetd-constructor" prosedure bygevoeg.
  • Om dienste te skep wat tydens netwerkaktiwiteit geaktiveer word (in die systemd-sokaktiveringstyl), is die "make-systemd-constructor"-prosedure bygevoeg.
  • Bygevoeg prosedure om 'n diens in die agtergrond te begin - "begin-in-die-agtergrond".
  • Parameters ":supplementary-groups", "#:create-session" en "#:resource-limits" by die "make-forkexec-constructor"-roetine bygevoeg.
  • Geaktiveerde werking sonder blokkering terwyl daar vir PID-lΓͺers gewag word.
  • Vir dienste sonder die "#:log-file"-parameter word uitvoer na syslog verskaf, en vir dienste met die #:log-file-parameter word die logboek na 'n aparte lΓͺer geskryf wat die tyd van opnames aandui. Logs van die onbevoorregte herderproses word in die $XDG_DATA_DIR-gids gestoor.
  • Ondersteuning vir bou met Guile 2.0 is gestaak. Probleme met die gebruik van Guile-weergawes 3.0.5-3.0.7 is opgelos.
  • Die Fibres-biblioteek 1.1.0 of nuwer word nou vereis om te werk.

Bron: opennet.ru

Voeg 'n opmerking