GNU Shepherd, un manager de servicii dezvoltat de Guix

După doi ani de la formarea ultimei versiuni majore, a fost anunțat când a publicat lansarea noua versiune a managerului de servicii GNU Shepherd 0.9 (cunoscut anterior ca dmd), care este a fi dezvoltat de dezvoltatorii distribuției GNU Guix ca o alternativă la inițializarea SysV-init conștientă de dependența sistemului.

Păstor oferă funcționalitatea spațiului utilizatorului în mod asincron ca servicii, care în Shepherd sunt funcții generice și tipuri de date obiect care sunt exportate pentru utilizare de către Shepherd pentru a extinde sistemul de operare de bază într-un mod definit. Spre deosebire de systemd, un proces de monitorizare a spațiului utilizatorului rulează ca acel utilizator.

Despre Shepherd

La baza modelului Shepherd de inițializare a spațiului utilizatorului se află conceptul de extensie, o formă de composabilitate în care serviciile sunt concepute pentru a suprapune alte servicii, sporindu-le cu un comportament mai elaborat sau specializat, după cum se dorește. Aceasta exprimă relațiile de dependență bazate pe instanțiere găsite în multe sisteme de boot moderne, care face sistemul modular, dar permite și servicii să interacționeze în mod variabil între ele servicii în mod arbitrar.

Păstor oferă, de asemenea, așa-numitele servicii virtuale care permit expedierea dinamică pe o clasă de obiecte de serviciu înrudite, cum ar fi cele care instanțează un agent de transfer de e-mail (MTA) pentru sistem.

Un sistem guvernat de demonul Shepherd își poate reprezenta spațiul utilizator ca un grafic aciclic direcționat, cu „serviciul de sistem” (responsabil pentru fazele timpurii de pornire și pornire) ca root și toate serviciile inițializate ulterioare ca extensii ale funcționalității serviciului de sistem. , fie direct, fie tranzitiv peste alte servicii.

Fiind scris și configurat în Scheme Guile, GNU Shepherd este proiectat pentru a fi foarte programabil de administratorul de sistem, dar poate fi folosit și pentru a gestiona profiluri per utilizator ale demonilor și serviciilor fără privilegii.

Serviciile și setările dvs. sunt stocate uniform ca cod Scheme orientate pe obiecte și, deși un set de bază de servicii este furnizat cu sistemul Guix de bază, serviciile noi arbitrare pot fi declarate în mod flexibil și prin sistemul de obiecte Guile, GOOPS, serviciile existente pot fi redefinite la discreția utilizatorului, solicitând lui Shepherd să rescrie dinamic serviciile în modalități specifice de instanțiere.

GNU Shepherd a fost conceput inițial pentru a funcționa cu GNU Hurd și a fost ulterior adoptat de sistemul Guix.

Principalele caracteristici noi ale GNU Shepherd 0.9

În această nouă versiune care este prezentată, se evidențiază că se implementează conceptul de servicii temporare (tranzitorie), care sunt deconectate automat după terminare din cauza încetării procesului sau a apelului de metodă „stop”, care poate fi necesar pentru serviciile sintetizate care nu pot fi repornite după terminare.

O altă dintre schimbările care se remarcă este pentru servicii fără parametrul „"#:log-file"., este furnizată ieșirea către syslog iar pentru serviciile cu parametrul „#:log-file”, jurnalul este scris într-un fișier separat care indică timpul de logare în procesul Shepherd neprivilegiat care este stocat în directorul $XDG_DATA_DIR.

În plus, este de remarcat faptul că procedura „make-inetd-constructor” a fost adăugată pentru a crea servicii similare cu inetd și că procedura „make-systemd-constructor” a fost adăugată pentru a crea servicii care sunt activate în activitatea de rețea (stil systemd socket). activare).

Dintre celelalte schimbări care se deosebesc de această nouă versiune:

  • S-a adăugat o procedură pentru a porni serviciul de fundal:
  • S-au adăugat parametrii „:supplementary-groups”, „#:create-session” și „#:resource-limits” la procedura „make-forkexec-constructor”.
  • Funcționare fără blocare garantată în timp ce așteptați fișierele PID.
  • S-a eliminat suportul pentru compilare cu Guile 2.0. S-au rezolvat probleme la utilizarea versiunilor Guile 3.0.5-3.0.7.
  • Biblioteca Fibres 1.1.0 sau o versiune ulterioară este acum necesară pentru a funcționa.
  • Documentație îmbunătățită și exemple
  • Shepherd nu mai poate fi construit cu Guile 2.0
  • Remediați eroarea compilatorului Guile 3.0.[5-7]
  • Traduceri actualizate

În cele din urmă dacă sunteți interesat să aflați mai multe despre asta sau doriți să obțineți această nouă versiune, puteți consulta detaliile, documentația și descărcarea de pe următorul link.


Conținutul articolului respectă principiile noastre de etică editorială. Pentru a raporta o eroare, faceți clic pe aici.

Fii primul care comenteaza

Lasă comentariul tău

Adresa ta de email nu va fi publicată.

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.