Lansarea sistemului GNU Shepherd 0.9.2 init

A fost publicat managerul de servicii GNU Shepherd 0.9.2 (fost dmd), care este dezvoltat de dezvoltatorii distribuției GNU Guix System ca alternativă la sistemul de inițializare SysV-init care acceptă dependențe. Daemonul de control Shepherd și utilitățile sunt scrise în limbajul Guile (una dintre implementările limbajului Scheme), care este, de asemenea, folosit pentru a defini setările și parametrii pentru lansarea serviciilor. Shepherd este deja folosit în distribuția GuixSD GNU/Linux și este, de asemenea, destinat utilizării în GNU/Hurd, dar poate rula pe orice sistem de operare compatibil POSIX pentru care este disponibil limbajul Guile.

Shepherd face munca de pornire și oprire a serviciilor ținând cont de relațiile dintre servicii, identificând și pornind dinamic serviciile de care depinde serviciul selectat. Shepherd acceptă, de asemenea, detectarea conflictelor între servicii și prevenirea rulării lor simultane. Proiectul poate fi folosit atât ca sistem principal de inițializare (init cu PID 1), cât și într-o formă separată pentru a gestiona procesele de fundal ale utilizatorilor individuali (de exemplu, pentru a rula tor, privoxy, mcron etc.) cu execuție cu drepturi dintre acești utilizatori.

Printre modificari:

  • Descriptorii de fișiere utilizați în Shepherd sunt acum marcați cu indicatorul O_CLOEXEC (close-on-exec), mai degrabă decât să fie închise imediat când este executată o comandă exec, permițând transmiterea de mânere către serviciile pornite indirect de o comandă exec.
  • Conexiunile clientului sunt acum procesate într-un mod neblocant, ceea ce îl împiedică pe Shepherd să se blocheze atunci când trimite o comandă incompletă.
  • Se asigură că este creat un director pentru fișierele jurnal definite în setarea „fișier jurnal”, dacă nu există.

Sursa: opennet.ru

Adauga un comentariu