Esaminiamo le caratteristiche del sistema operativo immutable.
/ фото Unsplash
Come è nato Silverblue
Fedora Silverblue è un sistema operativo desktop immutabile. Tutte le applicazioni vengono eseguite in contenitori isolati e gli aggiornamenti vengono installati in modo atomico.
In precedenza, il progetto si chiamava . Successivamente è stato rinominato in Silverblue. Secondo gli sviluppatori, hanno considerato oltre 150 opzioni di nomi. Hanno scelto Silverblue semplicemente perché era disponibile un dominio e degli account sui social media.
Il sistema aggiornato Fedora Workstation come compilazione prioritaria per i desktop in Fedora 30. Gli autori affermano che in futuro Silverblue Fedora Workstation.
Uno dei membri di Hacker News , che il concetto di Silverblue sia lo sviluppo del progetto . Questo progetto è stato promosso in Fedora circa dieci anni fa. Stateless Linux doveva semplificare l'amministrazione dei client sottili e spessi. Anche in questo caso, tutti i file di configurazione del sistema erano accessibili in modalità "sola lettura".
Cosa offre l'"immutabilità"
Il termine "sistema operativo immutabile" indica che le directory radice e utente vengono montate in modalità "sola lettura". Tutti i dati modificabili vengono posizionati nella cartella /var. Un metodo simile viene utilizzato dagli sviluppatori e . Questo approccio aumenta la sicurezza del sistema operativo e impedisce l'eliminazione dei file di sistema (ad esempio, per errore).
Uno dei membri di Hacker News in un thread pertinente , ha raccontato di aver accidentalmente eliminato diversi file di sistema mentre modificava il tema di Ubuntu Yaru. Non aveva backup a causa di un errore nel regex. Secondo lui, un sistema operativo immutabile avrebbe aiutato ad evitare problemi.
Anche l'installazione degli aggiornamenti è semplificata: è sufficiente riavviare il sistema con una nuova immagine. Inoltre, è possibile passare rapidamente tra diversi rami (versioni di Fedora). Ad esempio, tra la versione attualmente in sviluppo di Fedora e repository con gli aggiornamenti in arrivo.
Quali sono le differenze rispetto a Fedora classica
Per installare l'ambiente di base (/ e /usr), viene utilizzata la tecnologia OSTree. Si può dire che si tratta di un sistema di "versioning" -dei pacchetti. I pacchetti RPM vengono trasmessi al repository OSTree tramite rpm-ostree. Installando un pacchetto, essa un punto di ripristino, cui è possibile tornare in caso di errore.
OSTree permette anche di installare applicazioni dai repository dnf/yum e da repository non supportati da Fedora. Per questo motivo, invece del comando dnf install, è necessario utilizzare rpm-ostree install. Il sistema creerà una nuova immagine di base del sistema operativo e la utilizzerà per sostituire quella installata.
Come meccanismo per aggiornare le applicazioni viene utilizzato . Questo le esegue in contenitori. Un pacchetto Flatpack include solo le dipendenze specifiche per l'applicazione. Tutte le librerie di base (come quelle GNOME e KDE) rimangono collegate come ambienti runtime. Questo approccio consente di ridurre la dimensione dei pacchetti, escludendo i componenti duplicati.

/ фото Unsplash
Per installare applicazioni non pacchettizzate in Flatpack, è possibile utilizzare . Questo consente di creare un contenitore con un classico installer di Fedora.
Soluzioni analoghe
Ci sono anche altre distribuzioni con funzioni simili a Silverblue. Un esempio può essere di openSUSE. Non è una distribuzione autonoma, ma parte della piattaforma openSUSE Kubic per il dispiegamento di CaaS (Container as a Service).
Il sistema lavora con contenitori Docker. Le loro immagini vengono distribuite come pacchetti RPM. Questo l'installazione di applicazioni basate su linea di comando che non sono disponibili in formato Flatpack. Il sistema host per l'esecuzione dei contenitori viene formato sulla base del repository ufficiale. .
MicroOS è stato progettato per il dispiegamento in ambienti su larga scala (ad esempio, nei data center), ma può anche funzionare su macchine singole.
Un altro esempio di sviluppo simile può essere . Questo è un sistema operativo Linux basato sul gestore di pacchetti Nix. La sua caratteristica principale è la descrizione dichiarativa delle configurazioni. L'amministratore non ha bisogno di installare e configurare manualmente il sistema. Lo stato viene descritto in un file speciale: qui vengono indicati tutti i pacchetti e le impostazioni di autenticazione. Successivamente, il gestore di pacchetti porta automaticamente il sistema operativo allo stato indicato.
Questo sistema è attivamente adottato da fornitori cloud, università e aziende IT.
In ogni caso, Silverblue ha la possibilità di ritagliarsi una sua nicchia nel mercato. Se ci riuscirà, lo scopriremo in futuro.
Materiali dal Primo blog su IaaS aziendale:
Ulteriori letture su Habr:
Fonte: habr.com
