Categories: Senza categoria

Il boom delle distro immutabili

Secondo le dichiarazioni del team di Fedora, le varianti immutabili rappresentano la maggior parte delle versioni di Fedora Linux in uso. La prossima release di supporto a lungo termine di Ubuntu offrirà quasi certamente una build immutabile, basata solo su Snap, in aggiunta a quelle classiche e molte altre distro immutabili sono già diventate molto popolari. E sembra proprio che le distro immutabili non siano affatto una moda del momento. In alcuni scenari, infatti, si spingono un passo oltre i sistemi Linux tradizionali, offrendo un’opzione più sicura e affidabile. Sono particolarmente utili in applicazioni come il cloud computing, i sistemi embedded, l’IoT e l’esecuzione di container, ma possono essere una soluzione vincente anche come distro di uso quotidiano e per i server.

Cosa sono nella pratica

Una distro immutabile è un sistema operativo progettato per essere inalterabile e in sola lettura. Una volta installato l’OS, i file e le directory di sistema non possono essere modificati direttamente dagli utenti o dalle applicazioni. Per apportare aggiornamenti o modifiche viene creata, installata e attivata una nuova istanza del sistema operativo e gli aggiornamenti vengono applicati in modo atomico (tutti in una volta). Le applicazioni sono isolate dal sistema operativo principale e l’una dall’altra, tipicamente attraverso la containerizzazione. In questo modo le modifiche apportate da una applicazione non possono influenzare il sistema centrale o altri programmi.

Fedora Silverblue offre un’esperienza simile a quella che si ha utilizzando Fedora Workstation. Fedora ha altre due versioni immutabili: Kinoite e Sericea

 

I vantaggi che offrono

Uno dei principali vantaggi dell’utilizzo dei sistemi operativi immutabili è la grande sicurezza che offrono. Poiché i file di sistema sono di sola lettura, qualsiasi tentativo di modifica fallisce. In questo modo si evitano interventi non autorizzati e si riduce il rischio di malware o di attacchi malevoli. Isolando il sistema operativo da potenziali minacce, una distro immutabile offre una soluzione perfetta per gli ambienti critici. Garantisce inoltre prestazioni affidabili e costanti, impedendo modifiche accidentali o configurazioni errate. Poiché gli OS rimangono invariati dopo ogni riavvio, si riduce la possibilità di problemi imprevisti o di guasti al sistema. Ciò è particolarmente importante in ambienti in cui i tempi di attività e la stabilità sono fondamentali, come i server o i sistemi embedded. Inoltre, con una distro immutabile il processo di manutenzione e aggiornamento diventa più semplice ed efficiente. Invece di applicare patch o aggiornamenti direttamente al sistema in esecuzione, si crea una nuova istanza dell’OS con gli aggiornamenti necessari. In questo modo si garantisce uno stato pulito e coerente del sistema a ogni aggiornamento, riducendo al minimo il rischio di conflitti o problemi di compatibilità. Inoltre, se si verificano inconvenienti durante il processo di update, è possibile ripristinare facilmente l’istanza precedente del sistema operativo, il che offre un’opzione di rollback molto pratica. Un ultimo, importante aspetto è che le distro immutabili offrono vantaggi in termini di scalabilità e riproducibilità, soprattutto in ambienti di cloud computing o containerizzati. Creando nuove istanze del sistema operativo per ogni deployment, diventa più facile scalare in base alla domanda. Ciò semplifica la gestione di deployment su larga scala e garantisce ambienti coerenti e riproducibili tra le diverse istanze.

Container e sandbox in primo piano

L’architettura di una distribuzione immutabile ruota attorno ai concetti di containerizzazione e sandbox. Utilizzando ambienti di virtualizzazione come Docker e LXC (abbreviazione di Linux Containers), ogni componente del sistema viene inserito in una sandbox sicura. Ciò consente di creare ambienti isolati in cui ogni componente è autonomo e permette al sistema di eseguire applicazioni non affidabili senza compromettere la sicurezza generale della macchina. Questo garantisce che ogni parte del sistema sia a prova di manomissione e possa essere aggiornata in modo indipendente. Permette inoltre di isolare le applicazioni, assicurando che abbiano accesso solo ai dati che devono gestire. Per capire più nel dettaglio cosa possiamo aspettarci da una distribuzione di questo tipo, vediamo alcuni dei progetti più importanti sul mercato.

 

Tre distro per Fedora

Fedora Silverblue è un sistema operativo immutabile che utilizza l’ambiente desktop Gnome. L’aspetto, la funzionalità e il comportamento sono quelli di un normale sistema operativo desktop e l’esperienza è simile a quella che si ha utilizzando Fedora Workstation. Le applicazioni grafiche vengono installate tramite Flatpak, che le tiene separate dal sistema di base e consente un controllo minuzioso dei loro permessi. Se programmate, apprezzerete l’utility Toolbox, che utilizza i contenitori per fornire un ambiente in cui installare e utilizzare strumenti di sviluppo e librerie. Toolbox consente di organizzare gli strumenti di sviluppo per progetto e di mantenere più versioni dei tool indipendenti l’una dall’altra. Tenete però presente che Fedora Silverblue non fornisce un’esperienza pienamente funzionale per il dual booting o il partizionamento manuale. Fedora ha anche altre due distribuzioni immutabili: Kinoite con il desktop Plasma e Sericea che offre il tiling window manager Sway, ideale per chi preferisce basare il suo flusso di lavoro sulla tastiera anziché sul mouse.

NixOS, OpenSUSE MicroOS e GNU Guix

NixOS è una distribuzione costruita sulla base di Nix, un gestore di pacchetti multipiattaforma puramente funzionale che utilizza un modello di distribuzione in cui il software viene installato in directory uniche generate tramite hash crittografici. Nix costruisce i pacchetti in isolamento per assicurarne la riproducibilità, mentre NixOS facilita la condivisione degli ambienti di sviluppo e di compilazione. La raccolta di pacchetti Nix ne contiene oltre 80.000. Nix è anche il linguaggio di compilazione utilizzato da NixOS che specifica come costruire i pacchetti dai sorgenti e permette di adattare facilmente il sistema alle proprie esigenze. Tuttavia, poiché la creazione dai sorgenti è un processo lungo, il gestore di pacchetti scarica automaticamente dei binari precostituiti da un server di cache quando sono disponibili. In questo modo si unisce la flessibilità di un sistema di gestione dei pacchetti basato sui sorgenti con l’efficienza di un modello binario. Uno dei punti di forza di questa distribuzione dalle caratteristiche uniche e dalle funzionalità molto avanzate è la forza della sua community. Sulla sua pagina GitHub (https://github.com/NixOS/nixpkgs), che ha oltre 5.000 contributor, trovate i link per accedere, oltre che alla documentazione del progetto, al suo forum, alla sua chat in Matrix, alla newsletter settimanale, alla wiki gestita dalla comunità e un elenco di modi per mettersi in contatto con essa (Discord, Telegram, IRC, ecc.). Un’altra distribuzione immutabile interessante, mirata principalmente ai server, è OpenSUSE MicroOS. È un sistema operativo a microservizi progettato per ospitare carichi di lavoro in container con amministrazione e patch automatizzate. Utilizza aggiornamenti transazionali, che consentono un facile rollback e assicurano che il sistema esegua lo stesso software in modo coerente a ogni avvio. Il sistema è scalabile e affidabile, con recupero automatico per gli aggiornamenti difettosi. Il progetto offre anche due versioni per computer desktop, che sono state recentemente rinominate (bit.ly/449HIkD) come openSUSE Aeon (con ambiente desktop GNOME) e openSUSE Kalpa (con Plasma). Simile a NixOS per la potenza e le funzioni avanzate è GNU Guix (https://guix.gnu.org), una distribuzione del sistema operativo GNU. È sia un gestore di pacchetti che può essere usato in qualsiasi distro, sia una vera e propria distribuzione GNU/Linux immutabile che si impegna a rispettare e migliorare la libertà dei suoi utenti.

Nella pagina degli scaricamenti di MicroOS sono previste diverse piattaforme, tra cui la Raspberry Pi

Vanilla OS e BlendOS

 

Vanilla OS  è un sistema operativo immutabile basato su Ubuntu con un ambiente desktop GNOME 3 standard. È stato progettato per essere affidabile e produttivo per l’operatività quotidiana e offre un’interfaccia pulita e intuitiva. Mira a soddisfare le esigenze di sviluppatori, designer, studenti e semplici utenti di base grazie a un’ampia gamma di applicazioni. Al primo avvio è possibile scegliere il formato di pacchetti che si desidera utilizzare in Vanilla OS, come Flatpak, Appimage o Nix. Inoltre consente di lanciare diversi sistemi containerizzati basati su Arch Linux, Fedora o Alpine Linux. La distribuzione ha fatto molto parlare di sé perché ha deciso di passare come base da Ubuntu a Debian Sid nella prossima versione, Vanilla OS 2.0 Orchid. Mira infatti a essere una distribuzione neutra (il termine “vaniglia” viene infatti usato in inglese anche per indicare un gusto di base, senza fronzoli) che lascia la massima libertà di scelta possibile agli utenti e secondo gli sviluppatori le scelte di Ubuntu che si allontanano da questa filosofia richiedono troppo tempo per essere neutralizzate. Una filosofia analoga ma spinta ancora oltre sul fronte della compatibilità è quella di blendOS. Come suggerisce il nome, mira a fondere (blend in inglese) tutte le distribuzioni Linux, Android e le applicazioni Web in un’unica soluzione. È basato su Arch Linux e supporta diversi ambienti desktop, tra cui GNOME e KDE Plasma, oltre a diversi gestori di pacchetti, come apt, dnf, yum, pacman e yay. Dopo aver installato blendOS è possibile utilizzare una qualsiasi delle centinaia di migliaia di applicazioni da una qualsiasi delle distribuzioni supportate dal sistema operativo, tra cui Debian, Ubuntu, Fedora, Arch Linux, Kali Linux, AlmaLinux, Rocky Linux e Android. È infatti possibile installare applicazioni da alcuni dei più popolari store Android, tra cui Aurora Store o F-Droid, grazie al fatto che la distro utilizza WayDroid dietro le quinte. Questo non è solo comodo per gli utenti che hanno più scelta di app, ma anche per gli sviluppatori che possono sfruttare facilmente il proprio PC per il testing.

 

Ubuntu core è già ampiamente usato nell’Internet delle cose, nell’automazione industriale, nei progetti per le città e le vetture intelligenti e nella robotica. Dovrebbe arrivare presto in Ubuntu per desktop

 

 

Ubuntu core e il futuro sui desktop

Al di fuori dei nostri desktop, una distribuzione immutabile molto importante è Ubuntu Core. Canonical ha iniziato il suo sviluppo nel 2014, con l’obiettivo di creare una piattaforma completamente containerizzata per l’IoT. Inserisce ogni componente del sistema in una sandbox sicura, il che consente ai dispositivi IoT autonomi connessi di ricevere aggiornamenti senza l’intervento umano. L’architettura di Ubuntu Core si concentra sulla componibilità e sulla sicurezza, rendendola una buona opzione per l’edge computing (una forma di elaborazione distribuita che porta la computazione e lo storage dei dati più vicino alle fonti di dati), la robotica e lo sviluppo sul cloud. L’approccio containerizzato consente una maggiore flessibilità e fornisce un sistema operativo sicuro e resiliente per ambienti difficili. L’ingombro minimo dell’OS lo rende inoltre una scelta efficiente per i dispositivi con risorse limitate. Le sue  dimensioni ridotte e le poche dipendenze gli consentono infatti di funzionare senza problemi su diverse schede embedded e single-board computer. Viene utilizzato nella robotica, per i veicoli autonomi, nell’automazione industriale e nelle applicazioni per le smart city, come i display intelligenti. Anche Ubuntu core potrebbe però arrivare presto sui desktop. Come dichiara la stessa azienda, infatti: “dietro le quinte, il team di Canonical ha esplorato attivamente i vantaggi di Ubuntu Core al di là del regno dell’IoT, in particolare nel contesto degli sviluppatori e degli utenti quotidiani”. Secondo quando trapelato da dichiarazioni delle persone che ci lavorano, già la prossima versione LTS (con supporto a lungo termine) di Ubuntu dovrebbe avere, insieme a quella tradizionale, un’edizione immutabile basata solo su pacchetti Snap, senza più quelli .deb. I pacchetti Snap stessi sono applicazioni immutabili. Quando vengono installati, vengono forniti come pacchetti completi che includono l’applicazione e tutte le sue dipendenze, riunite in un filesystem squashfs immutabile. A differenza del software tradizionale, gli Snap non modificano o sfruttano le librerie o le impostazioni del sistema host e, quando uno Snap viene aggiornato, l’intero pacchetto viene sostituito in una sola volta. Concludendo, le distribuzioni immutabili hanno guadagnato grande consenso negli ultimi anni e probabilmente diventeranno sempre più popolari in futuro, poiché offrono una serie di vantaggi, tra cui una maggiore facilità di test e di sviluppo del software basato su container, la sicurezza del sistema operativo e la standardizzazione. Che sia ora di provarne una?

All’avvio iniziale potete scegliere il formato o i formati dei pacchetti che volete utilizzare in Vanilla OS


Hai trovato questo articolo interessante? Seguici su Facebook , Twitter, Mastodon

hj_backdoor

Share
Published by
hj_backdoor

Recent Posts

Malware per il mobile banking in crescita

Secondo Kaspersky negli ultimi 12  mesi si è registrato un aumento significativo di malware per…

2 giorni ago

L’aspiratutto del Web!

Preleva i video da YouTube, Soundcloud, Vimeo, Dailymotion… e ne estrae l’audio. Ecco come fare

3 giorni ago

Blink presenta una videocamera compatta per uso interno ed esterno

La nuova Blink Mini 2 è dotata di notifiche intelligenti abilitate alla visione computerizzata, tra…

6 giorni ago

CrowdStrike presenta una nuova ed evoluta soluzione di threat hunting per Microsoft Azure

Durante la RSA Conference 2024, evento di rilievo nel settore della sicurezza informatica, CrowdStrike ha…

1 settimana ago

Remote control e WinRAR sotto attacco

L’ultima ricerca di Kaspersky ha rivelato che gli attori delle Advanced Persistent Threat (APT) stanno…

1 settimana ago

Tracciamo l’attività al PC

Con ActivityWatch possiamo tenere sotto controllo il tempo passato con le varie attività al nostro…

1 settimana ago

Abbonati ad Hackerjournal per un anno a 33,90 € con digitale in omaggio anziché 46,90 €!

CLICCA QUI PER ABBONARTI!