AerynOS, la nuova distribuzione che si presenta come un'infrastruttura con una visione di piattaforma

AerynOS

In un lungo articolo tecnico, Ikey doherty (noto per aver guidato progetti come Solus e per aver contribuito a Clear Linux) delinea la filosofia e l'architettura di AerynOS, questo nuovo progetto che cerca di ripensare il modo in cui un sistema operativo dovrebbe comportarsi nell'era dell'infrastruttura come codice.

E lungi dall'essere solo un'altra distribuzione nell'ecosistema Linux, AerynOS si presenta come una profonda rivisitazione del sistema operativo moderno.

Dalla distribuzione alle infrastrutture

AerynOS nasce da una domanda provocatorio: "E se il sistema operativo si comportasse come un'infrastruttura moderna?". La risposta è una piattaforma costruita da zero, senza trascinare le convenzioni legacy delle distribuzioni tradizionali e invece di modificare i sistemi esistenti, AerynOS parte da basi pulite, sfruttando le esperienze precedenti e prendendo decisioni architettoniche radicali per garantire coerenza, reversibilità e semplicità strutturale.

Ikey Doherty menziona nel suo articolo che Una delle decisioni più sorprendenti è l'adozione della toolchain LLVM al posto del tradizionale GNU, utilizzando di default libc++ e compiler-rt. Questa scelta non è dovuta solo a preferenze stilistiche, ma anche a una strategia. per una diagnostica superiore e una maggiore portabilità. Nonostante questo aggiornamento, AerynOS continua a utilizzare glibc come libreria standard, preferendola a musl per le sue prestazioni superiori in caso di carichi multithread e applicazioni esigenti.

Oltre a questo, si menziona che uno Uno dei concetti fondamentali di AerynOS è “l’assenza di stato”: Nessun pacchetto può installare file al di fuori di /usr. Questa netta demarcazione separa lo spazio utente (/etc, /var) dallo spazio di sistema, eliminando i conflitti di unione e facilitando gli aggiornamenti puliti. Questa idea, che risale a Clear Linux, mira a imporre impostazioni predefinite sensate ed evitare la complessità non necessaria che spesso viene introdotta nei sistemi più flessibili.

Aggiornamenti atomici e reversibili

AerynOS utilizza un sistema di gestione dei pacchetti completamente nuovo, chiamato Moss, che esegue transazioni atomiche. Ogni aggiornamento crea un nuovo albero /usr utilizzando collegamenti fisici da un archivio deduplicato e viene scambiato con l'albero corrente in modo atomico utilizzando renameat2(). Questo meccanismo garantisce che gli aggiornamenti vengano completati completamente o non vengano applicati affatto, evitando stati intermedi.

Anche la gestione degli stivali rompe con la tradizione. Grazie a strumenti come blsforme e disks-rs, AerynOS genera dinamicamente la riga di comando del kernel leggendo direttamente i superblocchi del file system, eliminando la necessità di root=. Inoltre, ogni core è legato alla sua specifica transazione, facilitando i rollback del sistema dal menu di avvio e consentendo di ricostruire da zero l'ambiente di avvio in caso di perdita di ESP.

Il formato .stone: un nuovo modo di confezionare il software

Un altro componente chiave è il formato .stone, un moderno pacchetto binario Progettato con indipendenza dalla versione ed elevata efficienza. Ogni file .stone contiene:

  • Contenuto deduplicato dei file del pacchetto
  • Un indice hash (XXH128, con piani di migrazione a Blake3)
  • Una mappa del file system di destinazione
  • Metadati digitati quali nome, versione, capacità, ecc.

Invece di installare i file direttamente, i .stone sono archiviati in un Content Addressable Store (CAS) e vengono compilati come parte di una transazione. Questo approccio non solo migliora le prestazioni, ma consente anche di annullare facilmente eventuali modifiche.

Il sistema di gestione dei pacchetti non segue il tradizionale modello imperativo. Gli sviluppatori ritengono che i comandi di installazione diretta "introducano più bug di quanti ne risolvano". Ogni transazione crea invece un nuovo grafico di sistema, aprendo la strada a un futuro modello dichiarativo simile a Nix o Gentoo, in cui viene descritto lo stato desiderato del sistema anziché eseguire comandi di modifica.

AerynOS è immutabile?

Sebbene venga spesso descritto come un sistema immutabile, gli stessi creatori chiariscono che ciò non è del tutto vero. Il sistema non blocca l'accesso in sola letturae mentre le transazioni sostituiscono l'albero /usr, L'immutabilità completa non è ancora stata implementata. L'obiettivo a lungo termine è raggiungere questo obiettivo senza dover riavviare il sistema, sfruttando tecnologie come overlayfs ed erofs.

Nonostante sia in fase alpha, AerynOS ha già ISO disponibili, supporto per GNOME, compatibilità con Steam, NVIDIA, Flatpak e utenti reali che ne elogiano la stabilità e le prestazioni. Il sistema funziona già abbastanza bene da poter essere testato in scenari reali, anche se è ancora in fase di evoluzione.

fonte: https://aerynos.com