Rilascio del sistema di inizializzazione GNU Shepherd 0.9

Dopo due anni dalla formazione dell'ultima significativa release, è stato pubblicato il gestore di servizi GNU Shepherd 0.9 (ex dmd), che è sviluppato dai programmatori della distribuzione GNU Guix System come alternativa al sistema di init SysV-init, con supporto per le dipendenze. Il demone gestore e gli strumenti Shepherd sono scritti nel linguaggio Guile (una delle implementazioni del linguaggio Scheme), che viene utilizzato anche per definire le impostazioni e i parametri di avvio dei servizi. Shepherd è già utilizzato nella distribuzione GuixSD GNU/Linux ed è previsto anche per l'uso in GNU/Hurd, ma può funzionare su qualsiasi sistema operativo compatibile con POSIX per cui è disponibile il linguaggio Guile.

Shepherd si occupa dell'avvio e dell'arresto dei servizi, tenendo conto delle interconnessioni tra i servizi, determinando dinamicamente e avviando i servizi da cui dipende il servizio selezionato. Shepherd supporta anche la definizione di conflitti tra servizi e previene la loro esecuzione simultanea. Il progetto può essere utilizzato sia come sistema di init principale (init con PID 1), sia in modo isolato per gestire i processi in background di singoli utenti (ad esempio, per avviare tor, privoxy, mcron, ecc.) con esecuzione con i diritti di tali utenti.

Novità principali:

  • È stata implementata la concezione dei servizi transitori (transient), disattivati automaticamente dopo il completamento a causa della fine del processo o della chiamata del metodo "stop", che potrebbe essere necessario per i servizi sintetizzabili che non possono essere riavviati dopo la conclusione.
  • Per la creazione di servizi simili a inetd è stata aggiunta la procedura "make-inetd-constructor".
  • Per la creazione di servizi attivati da attività di rete (nel modo dell'attivazione delle socket di systemd) è stata aggiunta la procedura "make-systemd-constructor".
  • È stata aggiunta la procedura per avviare un servizio in background — "start-in-the-background".
  • Sono stati aggiunti alla procedura "make-forkexec-constructor" i parametri ":supplementary-groups", "#:create-session" e "#:resource-limits".
  • È garantito il funzionamento senza blocco durante l'attesa dei file PID.
  • Per i servizi senza il parametro "#:log-file" è garantita l'uscita nel syslog, mentre per quelli con il parametro "#:log-file" — la registrazione del log in un file separato con l'indicazione dell'ora delle registrazioni. I log da un processo non privilegiato di shepherd vengono salvati nella directory $XDG_DATA_DIR.
  • È stata interrotta la supporto per la compilazione con Guile 2.0. I problemi sono stati risolti nell'uso delle versioni Guile 3.0.5-3.0.7.
  • Ora è richiesta la libreria Fibers 1.1.0 o una versione successiva per il funzionamento.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster