Liberazione di u sistema init GNU Shepherd 0.9

Dui anni dopu à a furmazione di l'ultima versione significativa, u gestore di serviziu GNU Shepherd 0.9 (ex dmd) hè statu publicatu, chì hè sviluppatu da i sviluppatori di a distribuzione GNU Guix System cum'è una alternativa à u sistema d'inizializazione SysV-init chì supporta dipendenze. . U daemon di cuntrollu Shepherd è l'utilità sò scritti in a lingua Guile (una di l'implementazioni di a lingua Scheme), chì hè ancu utilizata per definisce e paràmetri è i paràmetri per i servizii di lanciazione. Shepherd hè digià utilizatu in a distribuzione GuixSD GNU/Linux è hè ancu destinatu à l'usu in GNU/Hurd, ma pò eseguisce in qualsiasi OS compatibile cù POSIX per quale a lingua Guile hè dispunibule.

Shepherd faci u travagliu di principià è piantà i servizii per piglià in contu e rilazioni trà i servizii, identificendu dinamicamente è principiendu i servizii da quale dipende u serviziu sceltu. Shepherd supporta ancu a rilevazione di cunflitti trà i servizii è impediscenu di correre simultaneamente. U prughjettu pò esse usatu cum'è u sistema di inizializazione principale (init cù PID 1), è in una forma separata per gestisce i prucessi di fondo di l'utilizatori individuali (per esempiu, per eseguisce tor, privoxy, mcron, etc.) cù l'esekzione cù i diritti. di sti utilizatori.

Innuvazioni principali:

  • U cuncettu di servizii tempuranee (transitori) hè implementatu, automaticamente disattivatu dopu à a fine per a fine di u prucessu o di a chjama di u metudu "stop", chì pò esse necessariu per i servizii sintetizzati chì ùn ponu micca esse riavviatu dopu a chjusa.
  • Per creà servizii simili à inetd, a prucedura "make-inetd-constructor" hè stata aghjunta.
  • Per creà servizii chì sò attivati ​​durante l'attività di a rete (in u stilu di attivazione di u socket systemd), a prucedura "make-systemd-constructor" hè stata aghjunta.
  • A prucedura aghjuntu per inizià un serviziu in sfondate - "start-in-the-background".
  • Aggiunti parametri ": supplementary-groups", "#:create-session" è "#:resource-limits" à a prucedura "make-forkexec-constructor".
  • Funzionamentu attivatu senza bluccà mentre aspittendu i schedari PID.
  • Per i servizii senza u paràmetru "#:log-file", l'output à syslog hè furnitu, è per i servizii cù u paràmetru #:log-file, u logu hè scrittu in un schedariu separatu chì indica u tempu di registrazione. I logs da u prucessu di pastore senza privilegiu sò almacenati in u cartulare $XDG_DATA_DIR.
  • U supportu per a custruzione cù Guile 2.0 hè stata interrotta. I prublemi cù e versioni di Guile 3.0.5-3.0.7 sò stati risolti.
  • A libreria Fibres 1.1.0 o più recente hè avà necessariu di travaglià.

Source: opennet.ru

Add a comment