Rilasciato il sistema di init GNU Shepherd 0.9

Due anni dopo il rilascio della versione precedente, è stato pubblicato il gestore di servizi GNU Shepherd 0.9 (ex dmd), che viene sviluppato dagli sviluppatori della distribuzione GNU Guix System come alternativa al sistema di inizializzazione SysV-init, supportando le dipendenze. Il demone di gestione e le utilità di Shepherd sono scritti in Guile (una delle implementazioni del linguaggio Scheme), che viene utilizzato anche per definire configurazioni e parametri di avvio dei servizi. Shepherd è già utilizzato nella distribuzione GuixSD GNU/Linux ed è destinato anche all'uso in GNU/Hurd, ma può funzionare su qualsiasi sistema operativo compatibile con POSIX per il quale sia disponibile il linguaggio Guile.

Shepherd esegue il lavoro di avvio e arresto dei servizi, considerando le interconnessioni tra i servizi, determinando e avviando dinamicamente i servizi da cui dipende il servizio selezionato. Shepherd supporta anche la definizione dei conflitti tra servizi e ne impedisce l'esecuzione simultanea. Il progetto può essere utilizzato sia come sistema di inizializzazione principale (init con PID 1) che in modo autonomo per gestire i processi in background degli utenti individuali (ad esempio, per avviare tor, privoxy, mcron, ecc.) con l'esecuzione dei diritti di quegli utenti.

Novità principali:

  • È stata implementata la concettualizzazione dei servizi temporanei (transient), che vengono automaticamente disattivati dopo il completamento a causa della chiusura del processo o della chiamata al metodo "stop", il che può essere necessario per i servizi sintetizzati che non possono essere riavviati dopo la loro 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 (in stile attivazione di socket systemd) è stata aggiunta la procedura "make-systemd-constructor".
  • È stata aggiunta la procedura per avviare un servizio in modalità background — "start-in-the-background".
  • Nella procedura «make-forkexec-constructor» sono stati aggiunti i parametri «:supplementary-groups», «#:create-session» e «#:resource-limits».
  • Garantita l'operatività senza bloccaggi durante l'attesa dei file PID.
  • Per i servizi senza il parametro «#:log-file» è previsto l'output nel syslog, mentre per i servizi con il parametro «#:log-file» si registra il log in un file separato con indicazione temporale. I log dei processi non privilegiati di shepherd vengono salvati nella directory $XDG_DATA_DIR.
  • Interrotta la supporto per la compilazione con Guile 2.0. Risolti i problemi nelle versioni Guile 3.0.5-3.0.7.
  • Ora è richiesta la libreria Fibers 1.1.0 o una versione più recente.

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