Probabilmente cercando in qualche sito specializzato in ambiente Linux, ti sarà certamente capitato di notare questa parolina strana: flatpak.
Questa curiosa parola serve per poter installare cose che di norma col classico “sudo apt install” non si possono installare, ma la cosa merita un piccolo approfondimento.
Cos’è il sistema flatpak?
È un sistema di packaging universale per applicazioni Linux che consente agli sviluppatori di creare applicazioni che possono essere eseguite su qualsiasi distribuzione Linux.
In pratica invece di essere distribuite come pacchetti specifici per una singola distribuzione, tali applicazioni sono impacchettate con tutte le dipendenze necessarie e distribuite come un singolo pacchetto indipendente che può essere eseguito su qualsiasi distribuzione Linux compatibile con Flatpak.
Questo sistema offre diversi vantaggi rispetto ai tradizionali pacchetti di distribuzione. Per esempio:
- Le applicazioni Flatpak sono distribuite in modo sicuro e isolato dal resto del sistema, il che significa che possono essere eseguite senza interferire con altre applicazioni o librerie sul sistema.
- Questo sistema rende facile per gli sviluppatori distribuire le ultime versioni delle loro applicazioni, senza dover aspettare che queste vengano inserite nei repository della distribuzione.
- Le applicazioni installate con tale sistema possono essere facilmente installate e gestite tramite il software center o il gestore di pacchetti del sistema operativo, senza dover ricorrere a comandi da terminale o a procedure di installazione complesse.
In linea di massima si può dire che Flatpak consente agli sviluppatori di creare applicazioni Linux portabili, sicure e facili da distribuire, e aiutano gli utenti a utilizzare le applicazioni Linux in modo semplice e conveniente su qualsiasi distribuzione Linux.
La rimozione di flatpak in modo nativo da Ubuntu (e di conseguenza derivate)
Canonical, madre di Ubuntu di recente ha dichiarato la volontà di non voler più mettere tale tipologia di sistema di installazione nelle versioni future del sistema operativo.
Per forza di cose ciò non andrà ad intaccare Ubuntu, Lubuntu, Kubuntu e Xubuntu che sono di Canonical, ma andranno ad intaccare anche le derivate come ZorinOS e Linux Lite OS.
Probabilmente ti chiederai: “ma se vogliono toglierlo, che senso ha un tutorial?“, fatto sta che verrà tolto come funziona nativa, ma non verrà rimossa e sarà possibile installarla comunque in maniera esterna, esattamente come il comando SNAP che molto spesso non è installato nelle distribuzioni Linux.
Ovviamente se usare flatpak al posto di sudo apt-get install o di snap install, spetterà a te e dipenderà molto dalle tue esigenze in ambiente di sistemi operativi GNU/Linux.
Quali sono i vantaggi di usare questo sistema per installare applicazioni invece del classico sudo o dello snap?
Ci sono diversi vantaggi di Flatpak rispetto ad altri metodi di installazione delle applicazioni, come l’utilizzo di sudo apt install o snap install. Ecco alcuni dei principali vantaggi di Flatpak:
- Portabilità: Flatpak consente agli sviluppatori di creare applicazioni che possono essere eseguite su qualsiasi distribuzione Linux, senza dover adattare il pacchetto per ogni singola distribuzione. Questo significa che gli utenti possono installare facilmente le applicazioni su qualsiasi distribuzione Linux compatibile con Flatpak, senza dover preoccuparsi delle dipendenze o della compatibilità del sistema operativo.
- Sicurezza: Flatpak esegue le applicazioni in modo isolato dal resto del sistema operativo, il che significa che le applicazioni non possono interferire con altre applicazioni o con il sistema operativo stesso. Inoltre, Flatpak offre anche una sandboxing avanzata che consente alle applicazioni di accedere solo alle risorse di sistema necessarie per il loro corretto funzionamento.
- Facilità di aggiornamento: Flatpak semplifica il processo di aggiornamento delle applicazioni, poiché gli aggiornamenti vengono distribuiti direttamente dallo sviluppatore dell’applicazione, senza dover passare attraverso i repository della distribuzione. Ciò significa che gli utenti possono ricevere gli aggiornamenti più recenti delle loro applicazioni Flatpak senza dover attendere che questi siano inclusi nei repository della distribuzione.
- Flessibilità: Flatpak offre ai developer la possibilità di includere tutte le dipendenze necessarie all’interno del pacchetto dell’applicazione. Ciò significa che gli sviluppatori possono creare applicazioni con le librerie e le dipendenze più recenti, senza dover preoccuparsi delle versioni delle librerie disponibili nel repository della distribuzione.
- Facilità d’uso: Flatpak semplifica il processo di installazione delle applicazioni, poiché le applicazioni possono essere facilmente installate tramite il software center o il gestore di pacchetti del sistema operativo, senza dover utilizzare comandi da terminale o procedere ad installazioni complesse.
In pratica si può dire che flatpak sia una soluzione di packaging moderna e flessibile che semplifica l’installazione e l’utilizzo delle applicazioni Linux, offrendo allo stesso tempo sicurezza, portabilità e flessibilità.
Ma ci sono anche alcuni svantaggi non affatto trascurabili
Anche se ci sono molti vantaggi, ci sono alcuni svantaggi da considerare nell’uso di questo sistema per installare i pacchetti:
- Dimensioni dei pacchetti: Poiché i pacchetti installati in questo modo includono tutte le librerie e le dipendenze necessarie per l’esecuzione dell’applicazione, i pacchetti possono essere più grandi rispetto ad altri formati di pacchetto. Questo può essere un problema se si dispone di una connessione internet lenta o si ha poco spazio di archiviazione disponibile.
- Uso della memoria: L’utilizzo di questo sistema di packacing può richiedere più memoria rispetto all’utilizzo di pacchetti tradizionali, poiché le applicazioni eseguite in un ambiente sandbox richiedono una maggiore quantità di memoria per funzionare.
- Tempi di avvio più lenti: L’avvio delle applicazioni Flatpak può richiedere più tempo rispetto all’avvio delle applicazioni tradizionali, poiché l’ambiente sandbox deve essere creato e le librerie e le dipendenze devono essere caricate all’interno dell’ambiente.
- Interazione con le librerie di sistema: Le applicazioni Flatpak eseguono all’interno di un ambiente sandbox isolato dal resto del sistema operativo. Ciò significa che potrebbero esserci problemi con l’interazione dell’applicazione con alcune librerie di sistema, se queste librerie non sono state incluse all’interno del pacchetto Flatpak dell’applicazione.
- Dipendenze duplicati: A volte potrebbe verificarsi una sovrapposizione tra le dipendenze di un pacchetto Flatpak e le dipendenze del sistema operativo. Ciò può comportare una duplicazione delle dipendenze, aumentando l’utilizzo dello spazio su disco e della memoria.
Sebbene esso offra di certo vantaggi, ci sono anche alcuni svantaggi da considerare prima di utilizzare questo sistema di packaging per le applicazioni Linux.
Come si installa su Ubuntu (e derivate) e su Debian
Di seguito sarà spiegato come installare questo sistema di installazione pacchetti sulle due “famiglie” di distribuzioni Linux più comuni
Ecco quali azioni sono necessarie per installare tale sistema di installazione pacchetti su Debian ed Ubuntu:
- Apri il terminale (solitamente CTRL+ALT+T, male che vada tasto destro del mouse e terminale)
- Aggiorna l’elenco dei pacchetti del tuo sistema Debian con il seguente comando: sudo apt update
- Installa il pacchetto Flatpak con il seguente comando: sudo apt install flatpak
- Aggiungi i relativi repository con il seguente comando: sudo add-apt-repository ppa:alexlarsson/flatpak
- Aggiorna di nuovo il tutto: sudo apt update
- Installa il plugin per l’integrazione di Flatpak con il gestore di pacchetti di Debian: sudo apt install gnome-software-plugin-flatpak
Ho specificato Ubuntu e Debian perché non è così scontato che i comandi siano gli stessi come in questo caso specifico; sebbene sia vero che Ubuntu è una derivata di Debian Ubuntu ha sostanzialmente creato una sua “allegra famiglia” a parte rispetto al “padre”.
ChromeOS Flex usa un terminale Debian, è possibile usare Flatpak anche lì?
Se hai letto il recente articolo riguardo ChromeOS Flex, ti starai chiedendo se sia possibile non solo installarlo lì, ma anche se effettivamente funziona, cosa non affatto scontatissima poiché snap è di fatto possibile installarlo ma non funziona a conti fatti.
Come si può vedere da questo video, sì si possono installare, ma non tutto funziona come dovrebbe (purtroppo) dovuto anche al fatto che il terminale Debian di ChromeOS Flex è sostanzialmente una macchina virtuale (praticamente emulazione).
Il sito di Flatpak ti dà una mano
Fortunatamente Flatpak ha una sorta di community tutta sua, nonché un sito web interamente dedicato a lui; se la guida sopra per installare tali pacchetti non dovesse andare a buon fine perché alcune derivate dei sistemi operativi menzionati sopra hanno differenze sostanziali puoi sempre provare a trovare qualche soluzione sul sito ufficiale o su qualche forum in lingua inglese.
La vastità dell’ambiente Linux e le possibili variazioni per installare flatpak (e non solo)
L’ambiente Linux è vasto ci sono letteralmente centinaia di distribuzioni, varianti e sottovarianti, impossibile spesso trovare una soluzione univoca che vada bene per tutti.
Se su Mint (esempio a caso) usare il Flatpak può andare benissimo, non è detto sarà lo stessoad esempio su Linux Lite OS (altro esempio a caso); stessa cosa vale per la famiglia Debian: se su Debian “puro” va bene non è detto ciò valga anche per Kali Linux o viceversa.
Tutto dipenderà dalle tue esigenze: ora come ora è impossibile dare una soluzione definitiva valida per tutti, va valutato caso per caso.
Flatpak non mi serve più: come rimuoverlo?
Fortunatamente sia su Debian che su Ubuntu non ci sono enormi passaggi per la sua rimozione:
- Apri il terminale.
- Digita il seguente comando per elencare tutte le applicazioni Flatpak installate sul tuo sistema: flatpak list
- Identifica il nome dell’applicazione (o delle applicazioni) che vuoi rimuovere
- Digita il seguente comando per rimuovere l’applicazione indesiderata: flatpak uninstall nome-applicazione; qualora ce ne fosse più di una puoi fare qualcosa tipo flatpak uninstall nome-applicazione1 && flatpak uninstall nome-applicazione2, sostanzialmente il comando && tra un comando Linux e l’altro ti permetterà di non dover premere continuamente invio e con una riga sola fari tutto una sola volta, inutile dire che nome-applicazione va sostituito col nome dell’applicazione (Gimp, Blender, etc.)
- Conferma la rimozione dell’applicazione in questione quando richiesto.
- Puoi anche rimuovere le dipendenze dell’applicazione Flatpak che non sono più necessarie eseguendo il seguente comando: flatpak uninstall –unused questo rimuoverà tutte le dipendenze di tale sistema di installazione pacchetti che non sono più utilizzate da alcuna applicazione sul tuo sistema.
Una volta completati questi passaggi, l’applicazione Flatpak e le relative dipendenze dovrebbero essere state rimosse dal tuo sistema Ubuntu o Debian.
Come accennato in precedenza l’ambiente Linux è molto versatile e molto spesso bisogna stare attenti a quello che si digita per non creare problemi e non dover installare tutto daccapo.
Detto questo buon divertimento con le applicazioni e i comandi dei “pacchetti piatti”.