Il toolkit di SerpentOS è disponibile per il testing

Dopo due anni di lavoro sul progetto, gli sviluppatori della distribuzione SerpentOS hanno annunciato la possibilità di testare gli strumenti principali, che comprendono:

  • il gestore pacchetti moss;
  • il sistema di container moss-container;
  • il sistema di gestione delle dipendenze moss-deps;
  • il sistema di build boulder;
  • il sistema di occultamento dei servizi avalanche;
  • il gestore dei repository vessel;
  • pannello di controllo summit;
  • il database moss-db;
  • il sistema di bootstrapping riproducibile bill.

Sono disponibili un'API pubblica e ricette per i pacchetti. Per sviluppare gli strumenti si utilizza principalmente il linguaggio di programmazione D, e il codice è distribuito con licenza Zlib. I pacchetti sono scritti in YAML e compilati in un formato binario proprietario .stone, che include:

  • Metadati del pacchetto e le sue dipendenze;
  • Informazioni sulla posizione del pacchetto nel sistema rispetto ad altri pacchetti;
  • Indice dei dati memorizzati nella cache;
  • Contenuto dei file del pacchetto necessari per il funzionamento.

Il gestore di pacchetti moss si ispira a molte funzionalità moderne sviluppate in gestori di pacchetti come eopkg/pisi, rpm, swupd e nix/guix, mantenendo al contempo un approccio tradizionale alla gestione dei pacchetti. Tutti i pacchetti vengono compilati di default in modalità stateless e non includono file non associati al sistema operativo, per evitare situazioni in cui siano necessarie risoluzioni di conflitti tra pacchetti o operazioni di fusione.

Il gestore di pacchetti utilizza un modello atomico di aggiornamento del sistema, in cui viene registrato lo stato di rootfs, e dopo l'aggiornamento, lo stato viene cambiato nel nuovo. Di conseguenza, se si verificano problemi durante l'aggiornamento, è possibile tornare allo stato operativo precedente.

Per risparmiare spazio su disco durante la memorizzazione di più versioni dei pacchetti, viene applicata la deduplicazione basata su hard link e una cache condivisa. Il contenuto dei pacchetti installati è collocato nella directory /os/store/installation/N, dove N è il numero della versione. I cataloghi di base sono collegati al contenuto di questa directory tramite collegamenti (ad esempio, /sbin punta a /os/store/installation/0/usr/bin, e /usr a /os/installation/0/usr).

Il processo di installazione dei pacchetti è composto dalle seguenti fasi:

  • Scrittura della ricetta di installazione (stone.yml);
  • Costruzione del pacchetto utilizzando boulder;
  • Ottenimento del pacchetto binario in formato .stone con i relativi metadati;
  • Registrazione nel database dei pacchetti;
  • Installazione tramite il gestore di pacchetti moss.

Attorno al progetto si è riunito un vecchio team di sviluppatori della distribuzione Solus. Ad esempio, nella realizzazione della distribuzione SerpentOS sono coinvolti Ikey Doherty, creatore della distribuzione Solus, e Joshua Strobl, sviluppatore principale del desktop Budgie, che aveva precedentemente annunciato il suo ritiro dal consiglio di gestione (Core Team) del progetto Solus e rinunciato ai suoi poteri di leader responsabile delle interazioni con gli sviluppatori e dello sviluppo dell'interfaccia utente (Experience Lead).

Gli sviluppatori di SerpentOS invitano specialisti esperti nel linguaggio di programmazione D a unirsi allo sviluppo degli strumenti principali e/o alla scrittura delle ricette dei pacchetti, mentre i non tecnici sono invitati a contribuire alla traduzione della documentazione in diverse lingue.

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