#format wiki
#LANGUAGE it
<
>
<>
<>
<>
= 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 [[https://it.wikipedia.org/wiki/Sandbox_(sicurezza_informatica)|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 [[https://www.freedesktop.org/|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.
{{{#!wiki note
Attualmente tutti i pacchetti sono reperibili da fonti di terze parti, esterne a Ubuntu.
}}}
{{{#!wiki tip
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 [[https://it.wikipedia.org/wiki/Sandbox|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 '''[[AmministrazioneSistema/InstallareProgrammi/PacchettiSnap|Snap]]''', presentando però con questi ultimi alcune differenze fra cui:
* non portano al loro interno tutte le dipendenze necessarie, utilizzando un sistema di ''[[https://it.wikipedia.org/wiki/Run-time_system|runtime]]''.
* non necessitano di '''[[AmministrazioneSistema/Systemd|systemd]]'''.
* di norma non necessitano dei [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] per essere installati.
* mancanza di aggiornamenti automatici (che possono però venire notificati integrando il servizio in uno [[#store|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 [[https://beta.flathub.org/apps/collection/verified|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 [[https://docs.flatpak.org/en/latest/sandbox-permissions.html#|autorizzazioni Sandbox]].
<>
= Abilitare Flatpak =
== Da repository ==
[[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://flatpak|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' '''.
0. Digitare nel [[AmministrazioneSistema/Terminale|terminale]] i comandi: {{{
sudo add-apt-repository ppa:flatpak/stable
}}} {{{
sudo apt update
}}}
0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://flatpak|flatpak]].
<>
= Abilitare lo store flathub dal terminale =
0. Assicurarsi che il proprio computer sia connesso a Internet.
0. 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 [[https://docs.flatpak.org/en/latest/using-flatpak.html#|questa pagina]].
<>
= Integrazione con Gnome Software e Discover =
È possibile installare programmi da sorgenti flatpak utilizzando '''[[AmministrazioneSistema/InstallareProgrammi/UbuntuSoftware|Gnome Software]]''' o '''[[https://userbase.kde.org/Discover|Discover]]'''. Per abilitare questa funzionalità seguire i passaggi di seguito descritti.
== Ubuntu ==
0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://gnome-software-plugin-flatpak|gnome-software-plugin-flatpak]] ed eventuali dipendenze.
0. Per aggiungere '''Repository [[https://flathub.org/home|flathub]]''' fare clic sul seguente [[https://flathub.org/repo/flathub.flatpakrepo|link]] e salvare il file `flathub.flatpakrepo`.
0. Aprire il [[AmbienteGrafico/FileManager|file manager]] e spostarsi nella cartella dove è stato salvato il file.
0. Fare doppio clic sul file. Verrà aperto Gnome Software.
0. Fare clic su '''Installa''' e digitare la [[AmministrazioneSistema/PrivilegiDiAmministrazione|password di amministrazione]].
0. Riavviare il sistema.
Per installare applicazioni:
0. [[AmbienteGrafico/AvviareProgrammi|Avviare]] Gnome Software.
0. 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'''.
{{{#!wiki note
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 ==
0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://plasma-discover-backend-flatpak|plasma-discover-backend-flatpak]] ed eventuali dipendenze.
0. Per abilitare i '''Repository [[https://flathub.org/home|flathub]]''', nella sezione '''Impostazioni''' di '''Discover''':
* [[AmbienteGrafico/Kde|Kubuntu]]: selezionare la voce '''Discover Motore Flatpak'''.
* [[AmbienteGrafico/Lxqt|Lubuntu]]: clic sul flag '''Flatpak'''.
0. Aggiornare la lista dei pacchetti.
0. Riavviare il sistema.
Per installare applicazioni:
0. [[AmbienteGrafico/AvviareProgrammi|Avviare]] Discover.
0. 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 =
{{{#!wiki note
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 [[https://docs.flatpak.org/en/latest/using-flatpak.html#system-versus-user|pagina]].
}}}
||<:-2>'''Comandi'''||
|| '''flatpak search ''' || Cerca un'applicazione. ||
|| '''flatpak install ''' || Installa un'applicazione. ||
|| '''flatpak install ''' || 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 [[https://flathub.org/|FlatHub]]), ad esempio `flatpak install /home/mario/Scaricati/org.gnome.Boxes.flatpakref`. ||
|| '''flatpak uninstall ''' || Disinstalla un'applicazione mantenendo i dati. ||
|| '''flatpak uninstall --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 [[https://docs.flatpak.org/en/latest/available-runtimes.html|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 ''' || Aggiorna una singola applicazione. ||
|| '''flatpak list --app''' || Elenca tutte le applicazioni flatpak installate sul sistema. ||
|| '''flatpak list --runtime''' || Elenca i runtime installati. ||
|| '''flatpak run ''' || Avvia un'applicazione. ||
|| '''flatpak remotes''' || Elenca i repository disponibili. ||
|| '''flatpak ps''' || Visualizzare le informazioni sulle applicazioni in esecuzione. ||
|| '''flatpak kill ''' || Uccide un'applicazione bloccata o danneggiata (l'ID dell'istanza si può ottenere dal comando precedente). ||
|| '''flatpak info ''' || Mostra informazioni sull'applicazione (nome, architettura, dimensioni, licenza, origine, runtime, ecc.). ||
|| '''flatpak info --show-permissions ''' || Mostra i permessi dell'applicazione. ||
|| '''flatpak repair''' || Tenta di riparare dei pacchetti danneggiati. Necessita dei [[AmministrazioneSistema/Sudo|privilegi di amministrazione]]. ||
= Altre funzionalità =
Per visualizzare la lista completa delle funzionalità disponibili digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando: {{{
flatpak --help
}}}
= Applicazioni utili =
Di seguito vengono elencate delle applicazioni con GUI per gestire facilmente pacchetti flatpak:
* '''[[https://github.com/tchx84/Flatseal|Flatseal]]''': gestore di permessi per app flatpak.
* '''[[https://github.com/giantpinkrobots/flatsweep|Flatsweep]]''': pulitore di dati residui di app flatpak.
* '''[[https://github.com/flattool/warehouse|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.
{{{#!wiki important
Le applicazioni sopra elencate sono progetti della comunità. Utilizzarle soltanto se consapevoli degli eventuali rischi.
}}}
= Ulteriori risorse =
* [[https://flatpak.org/|Sito ufficiale]]
* [[https://flathub.org/|Flathub]]
* [[https://github.com/flatpak|Flatpak su GitHub]]
* [[https://github.com/flatpak/ppa-flatpak| PPA Flatpak su GitHub]]
* [[https://launchpad.net/~alexlarsson/+archive/ubuntu/flatpak|PPA alexlarsson]] (non aggiornato)
----
CategoryAmministrazione