Guida verificata con Ubuntu: 20.04 22.04 24.04
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Flatpak è un progetto recente finalizzato alla creazione di un formato di packaging portabile e potenzialmente funzionante in ogni distribuzione GNU/Linux.
Uno degli obiettivi principali di Flatpak è aumentare la sicurezza dei sistemi desktop isolando le applicazioni una dall'altra. Ciò si ottiene utilizzando il sandboxing in modo tale che, per impostazione predefinita, le applicazioni eseguite con Flatpak abbiano un accesso estremamente limitato all'ambiente host.
Inizialmente denominato xdg-app (in quanto parte del progetto freedesktop.org), è sviluppato e supportato da una vasta comunità di volontari, contributori, organizzazioni e aziende (fra cui GNOME Foundation e Fedora/Red Hat). Interamente open source, ha acquistato molta popolarità negli ultimi anni.
Attualmente tutti i pacchetti sono reperibili da fonti di terze parti, esterne a Ubuntu.
Fino alla versione 22.10, alcuni flavor ufficiali hanno flatpak preinstallato (ad esempio Ubuntu MATE 22.04).
Molte famose distribuzioni hanno abilitato di default il supporto a flatpak (ad esempio Fedora, CentOS, Linux Mint, elementary OS, Pop!_OS ed altre).
Descrizione e funzionamento
Un pacchetto flatpak, utilizzando un sistema di sandboxing, consente l'utilizzo del software in maniera slegata dalle altre applicazioni, permettendo così alcuni vantaggi:
- si possono avere alcune versioni più recenti dei programmi senza aggiornare il sistema operativo
- si possono far convivere contemporaneamente due versioni diverse dello stesso programma
- installazione di singoli pacchetti senza compromettere la sicurezza e la stabilità del sistema.
I pacchetti flatpak sono pertanto concettualmente simili agli Snap, presentando però con questi ultimi alcune differenze fra cui:
non portano al loro interno tutte le dipendenze necessarie, utilizzando un sistema di runtime.
non necessitano di systemd.
di norma non necessitano dei privilegi di amministrazione per essere installati.
mancanza di aggiornamenti automatici (che possono però venire notificati integrando il servizio in uno store software).
approccio decentralizzato: mentre gli snap sono interamente gestiti da Canonical, Flatpak consente l'esistenza di più repository alternativi a Flathub; quest'ultimo implementa comunque una una lista di app verificate (funzionalità attualmente in beta).
- utilizzo ancora prevalentemente incentrato sugli utilizzi desktop anziché server.
Portali
I portali sono un meccanismo attraverso il quale le applicazioni possono interagire con l'ambiente host da una sandbox. Offrono la possibilità di interagire con dati, file e servizi senza la necessità di aggiungere autorizzazioni sandbox.
Esempi di funzionalità a cui è possibile accedere tramite portali includono l'apertura di file tramite una finestra di dialogo di selezione file o la stampa. I toolkit di interfaccia possono implementare un supporto trasparente per i portali, quindi l'accesso a risorse esterne alla sandbox funzionerà in modo sicuro e immediato.
Ulteriori informazioni sui portali sono disponibili nelle autorizzazioni Sandbox.
Abilitare Flatpak
Da repository
Installare il pacchetto flatpak.
Da PPA (versioni LTS)
PPA disponibile per ricevere gli aggiornamenti per le versioni LTS di Ubuntu: 24.04 'noble', 22.04 'jammy' e 20.04 'focal' .
Digitare nel terminale i comandi:
sudo add-apt-repository ppa:flatpak/stable
sudo apt update
Installare il pacchetto flatpak.
Abilitare lo store flathub dal terminale
- Assicurarsi che il proprio computer sia connesso a Internet.
Aggiungere il repository flathub:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Per ulteriori informazioni sulla gestione di flatpak da linea di comando consultare questa pagina.
Integrazione con Gnome Software e Discover
È possibile installare programmi da sorgenti flatpak utilizzando Gnome Software o Discover. Per abilitare questa funzionalità seguire i passaggi di seguito descritti.
Ubuntu
Installare il pacchetto gnome-software-plugin-flatpak ed eventuali dipendenze.
Per aggiungere Repository flathub fare clic sul seguente link e salvare il file flathub.flatpakrepo.
Aprire il file manager e spostarsi nella cartella dove è stato salvato il file.
- Fare doppio clic sul file. Verrà aperto Gnome Software.
Fare clic su Installa e digitare la password di amministrazione.
- Riavviare il sistema.
Per installare applicazioni:
Avviare Gnome Software.
Cercare nell'apposito campo il software desiderato. Da Ubuntu 20.04, con Gnome Software 3.36, nella pagina della descrizione del software, se sono disponibili più fonti, si ha la possibilità di selezionare la fonte, facendo clic in alto a destra su Sorgente.
Su Ubuntu 20.04 e successivi per impostazione predefinita è presente Snap Store, un fork di Gnome Software ma con supporto solo delle applicazioni snap e deb. Con l'installazione del plugin gnome-software-flatpak verrà installato anche Gnome Software. Si avranno due software center, per poter installare le applicazioni flatpak, avviare Gnome Software con icona bianca, senza marchio Ubuntu.
Kubuntu e Lubuntu
Installare il pacchetto plasma-discover-backend-flatpak ed eventuali dipendenze.
Per abilitare i Repository flathub, nella sezione Impostazioni di Discover:
- Aggiornare la lista dei pacchetti.
- Riavviare il sistema.
Per installare applicazioni:
Avviare Discover.
Cercare il software desiderato. Selezionando la descrizione del software, se sono disponibili più fonti, si ha la possibilità di selezionare la fonte facendo clic in alto a destra su Fonti.
Gestione delle applicazioni dal terminale
Per i seguenti comandi potrebbe tornare utile utilizzare il comando flapak seguito dall'opzione --user, limitando così l'azione al singolo utente (la directory di pertinenza sarà .var/ e non /var/lib/flatpak/).
Ciò può rivelarsi utile in sistemi multi-utente, in fase di test/sviluppo, in caso di /home separata con spazio limitato su root, ecc. Per maggiori informazioni consultare questa pagina.
Comandi |
|
flatpak search <nome app> |
Cerca un'applicazione. |
flatpak install <nome app> |
Installa un'applicazione. |
flatpak install <nome repo> <nome app> |
Installa un'applicazione specificando un repository, ad esempio flatpak install flathub org.gnome.Evince. |
flatpak install /posizione/file/flatpakref |
Installa un'applicazione da un file flatpakref scaricato in locale (es: dal sito FlatHub), ad esempio flatpak install /home/mario/Scaricati/org.gnome.Boxes.flatpakref. |
flatpak uninstall <nome app> |
Disinstalla un'applicazione mantenendo i dati. |
flatpak uninstall <nome app> --delete-data |
Disinstalla un'applicazione eliminando i dati (nella home utente .var/app/). |
flatpak uninstall --delete-data |
Elimina i dati di tutte le applicazioni disinstallate (nella home utente .var/app/). |
flatpak uninstall --unused |
Disinstalla i runtime non più usati. |
flatpak uninstall --all |
Disinstalla tutte le applicazioni flatpak installate sul sistema. |
flatpak update |
Cerca ed esegue aggiornamenti per le applicazioni installate. |
flatpak update <nome app> |
Aggiorna una singola applicazione. |
flatpak list --app |
Elenca tutte le applicazioni flatpak installate sul sistema. |
flatpak list --runtime |
Elenca i runtime installati. |
flatpak run <nome app> |
Avvia un'applicazione. |
flatpak remotes |
Elenca i repository disponibili. |
flatpak ps |
Visualizzare le informazioni sulle applicazioni in esecuzione. |
flatpak kill <id istanza> |
Uccide un'applicazione bloccata o danneggiata (l'ID dell'istanza si può ottenere dal comando precedente). |
flatpak info <nome app> |
Mostra informazioni sull'applicazione (nome, architettura, dimensioni, licenza, origine, runtime, ecc.). |
flatpak info --show-permissions <nome app> |
Mostra i permessi dell'applicazione. |
flatpak repair |
Tenta di riparare dei pacchetti danneggiati. Necessita dei privilegi di amministrazione. |
Altre funzionalità
Per visualizzare la lista completa delle funzionalità disponibili digitare nel terminale il seguente comando:
flatpak --help
Applicazioni utili
Di seguito vengono elencate delle applicazioni con GUI per gestire facilmente pacchetti flatpak:
Flatseal: gestore di permessi per app flatpak.
Flatsweep: pulitore di dati residui di app flatpak.
Warehouse: gestore di pacchetti flatpak in grado di visualizzare le informazioni, eseguire il downgrade oppure il blocco di versione, gestire i repository, pulire dati residui, eseguire snapshots, ecc.
Le applicazioni sopra elencate sono progetti della comunità. Utilizzarle soltanto se consapevoli degli eventuali rischi.
Ulteriori risorse
PPA alexlarsson (non aggiornato)