Fedora Kinoite tutorial
Se per voi la sicurezza è estremamente importante probabilmente vorrete scegliere una distribuzioni Linux immutabile. Una distribuzione immutabile ha una caratteristica peculiare: alcune aree del sistema non possono essere modificate e restano sempre così come sono.
Qui ho deciso di fare il tutorial di una distribuzione immutabile sviluppata da Fedora, che ha creato 4 distribuzioni che fanno parte del gruppo definito "Fedora Atomic Desktops".
Fedora Atomic Desktops sono varianti di Fedora Workstation e si propongono come sistemi operativi immutabili. Sono rivolti principalmente a professionisti dell'informatica, specie sviluppatori di software, grazie al supporto avanzato di container.
L'esperienza desktop risulta identica a quella della edizione workstation standard ma il sistema è il medesimo in qualunque computer lo si esegua. Gli aggiornamenti sono veloci e non c'è attesa per l'installazione. Un normale riavvio normalmente è sufficiente per utilizzare l'ultima versione disponibile o tornare a una versione precedente, se necessario.
Fedora Atomic Desktops sono cinque distinte versioni di Fedora Desktop secondo il desktop utilizzato:
In questo tutorial ho deciso di utilizzare la disribuzione di Fedora Kinoite.
Fedora Kinoite è una distribuzione immutabile con il file system principale è montato in sola lettura, il che impedisce, di regola, ad utenti e amministratori di apportare modifiche dirette ai file di sistema. Questo approccio mira a garantire coerenza e stabilità del sistema operativo, prevenendo modifiche non autorizzate che potrebbero compromettere la sicurezza o la coerenza del sistema.
Quando sono disponibili aggiornamenti di sistema o dei programmi, viene creata una versione completamente nuova del sistema che integra i nuovi pacchetti, le modifiche e le configurazioni necessarie. L'immagine del sistema rimane immutata durante l'utilizzo del sistema, dopo ogni riavvio e gli aggiornamenti vengono applicati solo creando una nuova immagine.
Questo differente approccio delle distribuzioni immutabili come Fedora Kinoite nella gestione del sistema e dei pacchetti, presenta una serie di vantaggi:
Sicurezza Potenziata: La natura immutabile garantisce quindi massimi livelli di sicurezza ed una riduzione della superficie di attacco grazie alla protezione da modifiche non autorizzate.
Isolamento dei Pacchetti: Dal momento che il sistema è immutabile, le applicazioni vengono spesso eseguite in appositi contenitori, isolati dal resto del sistema e sono solitamente fornite di tutte le dipendenze, condividendo con il sistema stesso solo parte delle risorse, con ciò riducendo il rischio di conflitti tra pacchetti.
Utilizzo di Aggiornamenti atomici:
In termini semplici, un aggiornamento atomico è un'operazione che viene eseguita completamente o non viene eseguita affatto. Quando si applica un aggiornamento atomico, il sistema operativo viene ricostruito per intero, tramite una nuova immagine che ricomprende le modifiche apportate. Questa immagine viene quindi resa attiva e sostituisce la precedente. Se l'aggiornamento fallisce per qualsiasi motivo, il sistema può facilmente tornare allo stato precedente, mantenendo integrità e operatività senza complicazioni.
I principali vantaggi degli aggiornamenti atomici sono quindi:- Consistenza: Gli aggiornamenti atomici garantiscono che il sistema sia sempre in uno stato coerente e funzionante.
- Rollback Sicuro: In caso di problemi durante l'aggiornamento, il sistema può essere facilmente ripristinato alla versione precedente senza complicazioni né impatti negativi.
- Riproducibilità: Ogni aggiornamento atomico è un evento isolato e ciò garantisce che l'ambiente rimanga coerente e prevedibile in qualunque computer venga eseguito.
Installiamo Fedora Kinoite
Per prima cosa dobbiamo scaricare la iso di Fedora Kinoite, masterizzarla su DVD, oppure su penna USB utilizzando Fedora Media Writer e avviarne l'installazione.
Qui di seguito ci sono i collegamenti ai tutorial che devono essere eseguiti in ordine cronologico, uno alla volta passo per passo per poter installare Fedora Kinoite e configurarlo:
Creiamo la nostra distribuzione di Fedora Kinoite
Una volta installata la nostra distribuzione non sarà ancora completa, in quanto gli mancheranno ancora diversi programmi che noi vorremo utilizzare.
I programmi su Fedora Kinoite possiamo installarli in diversi modi:
- utilizzando l'applicazione grafica Discover che permette in Fedora Kinoite di installare i pacchetti Flatpak
- attraverso il terminale di linux installando i pacchetti flatpak.
- attraverso il terminale di linux utilizzando rpm-ostree.
Nella seguente pagina trovate divisi per categoria tutte le applicazioni principali che potete installare sulle distribuzioni Linux in formato Flatpak:
Lista programmi principali in Flatpak
Ora vediamo i tutorial per installare le applicazioni con questi programmi:
Creare e usare containers con toolbx
Come host immutabile, Fedora Kinoite è un'eccellente piattaforma per lo sviluppo basato su container e, per lavorare con i container, buildah e podman sono raccomandati. In Fedora Kinoite entrambi sono già installati.
Fedora Kinoite è inoltre dotata dell'utility toolbx, che utilizza i contenitori per fornire un ambiente in cui possono essere installati e utilizzati strumenti di sviluppo e librerie. Qui potete trovare la pagina del progetto toolbx.
Toolbx rende facile l'utilizzo di un ambiente containerizzato per lo sviluppo e il debug del software di tutti i giorni. Sui sistemi operativi immutabili, come Fedora Kinoite, fornisce un ambiente familiare basato su pacchetti in cui strumenti e librerie possono essere installati e utilizzati. Tuttavia, toolbx può essere utilizzato anche su sistemi basati su pacchetti.
L'utilizzo di Toolbx per eseguire i flussi di lavoro in modo containerizzato ti offre diversi vantaggi:
Mantiene il sistema operativo host pulito e stabile e aiuta ad evitare il disordine che può accadere dopo l'installazione di lotti di strumenti e pacchetti di sviluppo.
Si ottiene l'accesso a diverse versioni di distribuzioni supportate indipendentemente dalla versione in esecuzione.
I container sono un buon modo per isolare e organizzare le dipendenze necessarie per i diversi progetti.
I container sono uno spazio sicuro per sperimentare: se le cose vanno male, è facile buttare via una cassetta degli attrezzi e ricominciare.
Tuttavia, è molto importante notare che i contenitori toolbx sono ancora integrati con il sistema host, quindi non dovresti tentare di fare cose o eseguire software che altrimenti non faresti sul tuo sistema host. I contenitori Toolbx non sono ambienti completamente isolati come le macchine virtuali.
Toolbx elimina il lavoro dall'utilizzo dei contenitori, fornendo un piccolo numero di semplici comandi per creare, immettere, elencare e rimuovere i contenitori. Integra anche i contenitori toolbx nel tuo ambiente di lavoro normale, per semplificarti l'utilizzo come spazio di sviluppo quotidiano.
Vediamo con dei tutorial come utilizzare Toolbx in Fedora Kinoite:
Creare e usare containers con distrobox
Ci delle volte in cui avresti bisogno di qualche altra distribuzione Linux sulla tua attuale distribuzione Linux. Potresti averne bisogno per provare una nuova distribuzione Linux, utilizzando una particolare applicazione disponibile su una distribuzione specifica. Cambiare la tua distribuzione Linux sarebbe un processo molto scomodo e noioso. I container hanno infatti aperto una nuova finestra su questo mondo, consentendo di avviare intere distribuzioni senza appesantire tutto con la virtualizzazione. Questo lo possiamo fare utilizzando Distrobox.
Distrobox è una applicazione per Linux che ti consente di utilizzare diverse distribuzioni di Linux dal tuo terminale. Questo progetto, creato dall'italiano Luca Di Maio e disponibile su moltissime distribuzioni Linux, fa uso dei cosiddetti container per poter "virtualizzare" molte delle distro che potete desiderare (qui trovate una tabella delle distro "virtualizzabili"). Si presenta come uno strumento da linea di comando che si offre come supporto per facilitare la creazione di container appoggiandosi ad altri programmi dedicati come Lillipod (dello stesso sviluppatore), Docker e Podman. Ma attenzione solo con Docker e Podman si possono creare container che permettono di isolare i programmi che girano all'interno, dal sistema che li ospita. In Fedora Kinoite Podman è già installato.
Come host immutabile, Fedora Kinoite è un'eccellente piattaforma per lavorare con i container, quindi anche per lavorare con Distrobox. Con distrobox possiamo creare dei container che ci permettono di utilizzare da riga di comando diverse distribuzioni linux. Possiamo installare i programmi in queste distribuzioni utilizzando il relativo gestore pacchetti. Questi containers sono integrati nel sistema ma più sicuri di quelli creati con toolbx.
Questi containers creati con distrobox permettono la condivisione di file (nella cartella home), dispositivi e reti con la distribuzione Linux host che ospita il container.
Per prima cosa dobbiamo installare Distrobox sul Fedora Kinoite, qui trovate il tutorial:
Uno dei motivi principali per usare distrobox è poter installare e utilizzare un programma che non possiamo utilizzare con la distribuzione corrente, ma siccome Fedora Kinoite permette di installare con rpm-ostree
tutti i pacchetti installabili in Fedora, ritengo poco probabile questa evenienza. Quindi siccome gli utenti che utilizzano Fedora sono degli utenti che hanno particolarmente a cuore la sicurezza qui mostrerò come utilizzare Distrobox per utilizzare Alpine Linux.
Alpine Linux è una distribuzione con un livello di sicurezza avanzato, impiega misure avanzate come la protezione dello stack, un kernel rinforzato e la randomizzazione dello spazio degli indirizzi (ASLR). Alpine è stato progettato pensando alla sicurezza. Infatti tutti i binari della tua zona utente sono compilati come eseguibili indipendenti dalla posizione (PIE) con protezione dalla distruzione dello stack. Il suo set di pacchetti minimalista riduce la superficie di attacco e garantisce un ambiente desktop più sicuro, per chi desiderasse farne uso. Quindi utilizzando Alpine Linux con distrobox possiamo avere, quando navighiamo in rete, un livello di sicurezza ancora più elevato di quello già elevato di Fedora Kinoite.
Quindi vediamo con dei tutorial come utilizzare Distrobox per utilizzare Alpine Linux:
I tutorial sopra possono essere usati per creare containers con Distrobox per utilizzare altre distribuzioni Linux, i cui programmi verranno installati con il corrispondente gestore di pacchetti.
Potete approfondire l'uso di Distrobox con la seguente guida:
Tutorial su Fedora Kinoite
In questa pagina metto a disposizione dei tutorial per imparare a fare le operazioni più semplici con Fedora Kinoite.
Questi tutorial sono pensati anche per gli utenti che non hanno nessuna esperienza di linux e del computer. Quindi proprio per questo riportano le immagini delle finestre passo passo per ogni azione da compiere in maniera che anche i neo-fili siano in grado di utilizzarli.
Ora vediamo una serie di tutorial per imparare a fare operazioni base estremamente elementari con Fedora Kinoite:
Comandi di base di Fedora Kinoite
Ora vediamo una serie di tutorial per imparare i comandi di base di Fedora Kinoite:
Debug e rollbacks di Fedora Kinoite
Fedora Kinoite tiene un registro della versione precedente del sistema operativo, che può essere commutata al posto dell'ultima versione. Anche se questo non dovrebbe essere di solito necessario, può essere utile se c'è un problema con un aggiornamento o un aggiornamento che vogliamo annullare, sia per scopi di sviluppo.
Ci sono due modi per tornare alla versione precedente:
Rollback temporanei: per tornare temporaneamente a una versione precedente, è sufficiente riavviare e selezionare la versione precedente dal menu di avvio (spesso noto come menu grub).
Rollback permanenti: per tornare permanentemente alla distribuzione precedente, utilizzare il comando
rpm-ostree rollback
.
Dopo il ritorno, tecnicamente sarai su una vecchia versione del sistema operativo e potrebbe essere richiesto di aggiornare. L'aggiornamento annulla il rollback, quindi dovrebbe essere evitato se si desidera che il rollback rimanga in vigore.
Possiamo anche tornare ad una versione precedente specifica.
Vediamo con dei tutorial come fare queste operazioni: