È stato presentato il primo rilascio alpha della distribuzione SerpentOS, che utilizza un gestore di pacchetti proprietario chiamato moss e un modello atomico per l'aggiornamento del sistema. Gli sviluppatori presentano Serpent OS come il prossimo passo nell'evoluzione delle distribuzioni Linux. Il progetto è sviluppato dal vecchio team di sviluppatori della distribuzione Solus, tra cui Ikey Doherty — creatore di Solus e Joshua Strobl — sviluppatore principale dell'ambiente desktop Budgie. Le build sono formulate per l'architettura x86_64-v2 e vengono fornite con gli ambienti desktop GNOME e COSMIC.
Il gestore di pacchetti moss utilizza un formato di pacchetti proprietario chiamato Stone e fornisce strumenti per gestire lo stato del sistema. Gli aggiornamenti vengono eseguiti in modalità atomica, sostituendo il contenuto della partizione /usr. La distribuzione garantisce l'integrità del sistema: in caso di guasto durante l'installazione di un aggiornamento, il sistema torna a uno stato di lavoro precedente. A eccezione del kernel e di alcuni componenti di sistema, le modifiche vengono applicate al volo, senza la necessità di riavviare. Per risparmiare spazio su disco in presenza di più versioni di pacchetti, viene utilizzata la deduplicazione basata su hard link.
Il progetto sviluppa anche l'installer Lichen, il sistema di build boulder, dashboard summit, il gestore di avvio blsforme e il sistema di contenitori moss-container. Il gestore di pacchetti e le utility di basso livello sono scritti in Rust. La maggior parte dei pacchetti, incluso il kernel Linux, è compilata utilizzando il compilatore Clang. La libreria standard per le applicazioni C++ è la libc++ del progetto LLVM.
Caratteristiche della versione alpha di Serpent OS:
- Aggiunti ulteriori patch per i dispositivi ASUS e Microsoft Surface. È stato aggiunto un driver per GPU NVIDIA (moduli open-gpu-kernel-modules ricompilati).
- È stato aggiunto un pacchetto per l'installazione del client del servizio di distribuzione giochi Steam, e sono stati proposti i driver mesa-32bit e nvidia-graphics-driver-32bit per l'esecuzione di applicazioni a 32 bit in un ambiente a 64 bit.

- Se possibile, sono stati utilizzati componenti di sistema in Rust: le utilità GNU coreutils sono state sostituite con uutils, il programma sudo è stato sostituito con sudo-rs, al posto del processo di sincronizzazione dell'ora esatta è stato impiegato ntpd-rs, l'utilità curl è stata compilata con la libreria rustls e il backend HTTP hyper (il supporto di hyper è stato recentemente interrotto dal progetto Curl a causa della mancanza di interesse da parte degli sviluppatori).
- Nell'assemblaggio con il desktop GNOME, viene utilizzata per impostazione predefinita l'interfaccia della riga di comando starship. Sono inclusi: l'editor di codice zed, il profilatore loupe e un'interfaccia per il monitoraggio dello stato del sistema resources.
- Nell'utensile moss per aggirare il limite del file system ext4 di 65 mila hard link per ogni inode, è garantita la creazione di nuovi inode per file vuoti. Per prevenire l'esaurimento dello spazio libero nella partizione di avvio (ENOSPC), è stata implementata una pulizia automatica di file obsoleti con kernel e initrd.
- Nel gestore di avvio blsforme, è garantito il funzionamento in automatico, consentendo di gestire la EFI System Partition e le voci di avvio senza intervento manuale. È semplificata la configurazione dei parametri della riga di comando del kernel. È stata aggiunta la possibilità di generare più immagini initrd.
- Nell'installatore lichen, è stata ristrutturata l'interfaccia utente. È stata aggiunta la possibilità di scegliere il file system per la partizione root: xfs, ext4 o f2fs.
- Aggiornate le versioni dei pacchetti, tra cui il kernel Linux 6.12.6, Firefox 133.0.3, LLVM 18.1.8, GNOME 47.2, COSMIC 1.0.0_alpha4.


Fonte: opennet.ru

