Nuove versioni del gestore di servizi s6-rc e del sistema di inizializzazione s6-linux-init

È stata rilasciata la versione del gestore di servizi s6-rc 0.5.6.0, progettato per gestire l'avvio di script di inizializzazione e servizi. Supporta il monitoraggio dell'albero delle dipendenze e l'avvio o l'arresto automatico dei servizi per raggiungere uno stato specificato. L'utensile s6-rc può essere utilizzato sia nei sistemi di inizializzazione che per organizzare l'avvio di servizi arbitrari in relazione a eventi che riflettono il cambiamento dello stato del sistema. Il sistema supporta script di inizializzazione compatibili con sysv-init e può importare informazioni sulle dipendenze da sysv-rc o OpenRC. Il codice è scritto in linguaggio C e distribuito sotto licenza ISC.

Il gestore dei servizi s6-rc include un insieme di strumenti per avviare e fermare processi a lungo termine (demon) o script di inizializzazione che terminano immediatamente. Durante il funzionamento, garantisce l'esecuzione parallela di servizi non confliggenti e assicura un ordine di esecuzione dei script ripetuto in diversi avvii. Tutti i cambiamenti di stato vengono gestiti tenendo conto delle dipendenze: ad esempio, avviando un servizio specifico, le dipendenze necessarie per il suo funzionamento verranno automaticamente avviate, mentre durante l'arresto verranno fermati anche i servizi dipendenti.

A differenza di altri gestori di servizi, s6-rc supporta la costruzione proattiva (in modalità offline) del grafo delle dipendenze per il set di servizi esistenti, consentendo di eseguire un'analisi delle dipendenze ad alta intensità di risorse separatamente, invece di farlo durante il caricamento o il cambiamento di stato. Il sistema non è monolitico, ma suddiviso in una serie di moduli separati e sostituibili, ognuno dei quali, in linea con la filosofia Unix, affronta solo compiti specifici. Il progetto s6-rc segue la filosofia del minimalismo (non contiene nulla di superfluo) e consuma il minimo di risorse.

Invece di livelli di esecuzione (runlevel), s6-rc propone il concetto di bundle, che consente di raggruppare i servizi in base a criteri e compiti arbitrari. Per migliorare l'efficienza, viene utilizzato un database delle dipendenze compilato, creato dall'utilità s6-rc-compile sulla base del contenuto delle directory con i file per avviare/fermare i servizi. Per l'analisi e le manipolazioni con il database sono disponibili utilities s6-rc-db e s6-rc-update.

Sono state nel frattempo create nuove versioni di pacchetti aggiuntivi che integrano s6-rc:

  • s6 2.13.2.0 — strumenti per monitorare e gestire i processi (simile a daemontools e runit). Sono supportate funzionalità come il riavvio dei processi dopo un arresto anomalo, l'avvio di un gestore (attivazione del servizio) quando si accede a una porta di rete, registrazione degli eventi (sostituzione di syslogd) e concessione controllata di privilegi aggiuntivi (simile a sudo).
  • s6-linux-init 1.1.3.0 — implementazione del processo di init per i sistemi operativi basati sul kernel Linux, utilizzato per creare sistemi di inizializzazione in cui i pacchetti s6 e s6-rc gestiscono i servizi e gli script.
  • s6-networking 2.7.1.0 — un insieme di utilità per la creazione di servizi di rete, simile a ucspi.
  • s6-frontend è un wrapper per ricreare le funzionalità di daemontools e runit sopra s6.
  • s6-portable-utils 2.3.1.0 — un insieme di utilità Unix standard, come cut, chmod, ls, sort e grep, ottimizzate per un consumo minimo di risorse e fornite sotto licenza ISC.
  • s6-linux-utils 2.6.3.0 — un insieme di utilità specifiche per Linux, come chroot, freeramdisk, logwatch, mount e swapon.
  • mdevd 0.1.7.0 — un gestore eventi (simile a udevd), progettato per gestire il collegamento hotplug dei dispositivi. Secondo la configurazione, mdevd è compatibile con mdev di Busybox.
  • bcnm 0.0.2.0 — un configuratore di rete con funzionalità per la configurazione del Wi-Fi sul lato client.
  • execline 2.9.7.0 — un linguaggio per la scrittura di script.
  • skalibs 2.14.4.0 — una libreria per la creazione di applicazioni di sistema sicure nel linguaggio C.
  • s6-dns 2.4.1.0 — un insieme di librerie client e utilità che sostituiscono le tipiche utilità DNS di BIND e djbdns.
  • dnsfunnel 0.0.3.0 — reindirizza le richieste DNS locali verso esterno. un server (DNS forwarder).
  • shibari 0.0.2.0 — un semplice server DNS.
  • tipidee 0.0.6.0 — server HTTP con supporto HTTP/1.1.

Nelle nuove versioni, è stata aggiunta la supporto pkg-config a tutti i pacchetti. Nella libreria skalibs sono state implementate varianti delle funzioni di input/output, il cui tempo di esecuzione può essere limitato da un timeout. In mdevd è stata aggiunta l'opzione «-I» per impostare il nome del gruppo netlink per ricevere le richieste, la dimensione del buffer predefinito è stata aumentata a 1 MB. In tipideed è stata garantita la capacità di trasmettere in streaming l'output degli script CGI, aggiunta la supporto per i metodi PUT, DELETE e PATCH, implementata la direttiva autochunk per la codifica chunked dei dati trasmessi.

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