GNU Shepherd, un administrador de serveis desenvolupat per Guix

Després de dos anys de la formació de la darrera versió important, es va donar a conèixer al publicar el llançament de la nova versió de l'administrador de serveis GNU Shepherd 0.9 (anteriorment conegut com a dmd), que està sent desenvolupat pels desenvolupadors de la distribució GNU Guix com una alternativa a la inicialització SysV-init conscient de les dependències del sistema.

pastor proporciona la funcionalitat de l'espai d'usuari de forma asincrònica com a serveis, que a Shepherd són funcions genèriques i tipus de dades d'objectes que s'exporten perquè Shepherd els utilitzi per ampliar el sistema operatiu base d'alguna manera definida. A diferència de systemd, un procés de supervisió de l'espai d'usuari s'executa com a usuari.

Sobre Shepherd

El nucli del model Shepherd d'inicialització de l'espai d'usuari és el concepte d'extensió, una forma de componibilitat en què els serveis estan dissenyats per superposar-se a altres serveis, augmentant-los amb comportaments més elaborats o especialitzats segons vulgueu. Això expressa les relacions de dependència basades en la creació d'instàncies que es troben en molts sistemes d'inici moderns, cosa que fa que el sistema sigui modular, però també permet que els serveis interactuïn de forma variable amb altres serveis de manera arbitrària.

pastor també proporciona els anomenats serveis virtuals que permeten enviar dinàmicament una classe d'objectes de servei relacionats, com tots aquells que creen instàncies d'un agent de transferència de correu (MTA) per al sistema.

Un sistema governat a través del dimoni Shepherd pot representar el seu espai d'usuari com un gràfic acíclic dirigit, amb el servei del sistema (responsable de les primeres fases d'arrencada i inici) com a root i tots els serveis inicialitzats posteriorment com a extensions de la funcionalitat del servei del sistema, ja sigui directament o transitivament sobre altres serveis.

En estar escrit i configurat a Guile Scheme, GNU Shepherd està dissenyat per ser altament programable per l'administrador del sistema, però també es pot utilitzar per administrar perfils per usuari de dimonis i serveis sense privilegis.

Els seus serveis i configuració s'emmagatzemen de manera uniforme com a codi Scheme orientat a objectes i encara que es proporciona un conjunt central de serveis amb el sistema Guix bàsic, es poden declarar de manera flexible nous serveis arbitraris ia través del sistema d'objectes de Guile, GOOPS, els serveis existents es poden redefinir a discreció de l'usuari demanant-li a Shepherd que reescrigui dinàmicament els serveis de formes específiques a la creació d'instàncies.

GNU Shepherd es va dissenyar originalment per treballar amb GNU Hurd i després va ser adoptat per Guix System

Principals novetats del GNU Shepherd 0.9

En aquesta nova versió que es presenta es destaca que s'implementa el concepte de serveis temporals (transitoris), els quals es desconnecten automàticament després de la terminació a causa de la terminació del procés o la crida al mètode «stop», que pot ser requerit per a serveis sintetitzats que no es poden reiniciar després de la terminació.

Un altre dels canvis que es destaca és per als serveis sense el paràmetre «»#:log-file», es proporciona sortida a syslog i per als serveis amb el paràmetre #:log-file, el registre s'escriu en un fitxer separat que indica l'hora dels registres en el procés Pastor sense privilegis que s'emmagatzema al directori $XDG_DATA_DIR.

A més, es destaca que es va afegir el procediment make-inetd-constructor per crear serveis similars a inetd i que es va afegir el procediment make-systemd-constructor per crear serveis que s'activen en l'activitat de la xarxa (estil d'activació de socket systemd).

Dels altres canvis que es destaquen d'aquesta nova versió:

  • S'ha afegit un procediment per iniciar el servei en segon pla:
  • Es van afegir els paràmetres: supplementary-groups, #:create-session i #:resource-limits al procediment make-forkexec-constructor.
  • Funcionament garantit sense bloqueigs mentre s'esperen els fitxers PID.
  • S'ha eliminat el suport per compilar amb Guile 2.0. Problemes resolts en utilitzar les versions de Guile 3.0.5-3.0.7.
  • Ara cal la biblioteca de Fibers 1.1.0 o posterior per funcionar.
  • Documentació i exemples millorats
  • Pastor ja no es pot construir amb Guile 2.0
  • Solució en l'error del compilador Guile 3.0.[5-7]
  • Traduccions actualitzades

Finalment si estàs interessat en conèixer més a l'respecte o vols obtenir aquesta nova versió, pots consultar els detalls, documentació i descàrrega des de el següent enllaç.


El contingut d'l'article s'adhereix als nostres principis de ètica editorial. Per notificar un error punxa aquí.

Sigues el primer a comentar

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.