GNU/Linux >> Linux Esercitazione >  >> Linux

Come installare e utilizzare Flatpak in Linux

In questo tutorial vedremo cos'è Flatpak, come installare Flatpak su Linux e poi come utilizzare l'interfaccia utente della riga di comando Flatpak per installare le applicazioni.

Introduzione a Flatpak

Ci sono così tante distribuzioni Linux e applicazioni di packaging per tutte quelle distribuzioni Linux è un compito piuttosto dispendioso in termini di tempo e difficile. Anche se esistono molti convertitori di pacchetti, tutti hanno problemi di funzionalità e compatibilità limitati.

Per ovviare a questo problema, un formato di pacchetto dell'applicazione denominato Snap è stato introdotto da Canonical. Gli snap sono inizialmente sviluppati per il sistema operativo Ubuntu, ma ora sono adottati dalle principali distribuzioni Linux tra cui Arch, Gentoo, Fedora, openSUSE ecc.

Uno snap è un singolo pacchetto binario in bundle con tutte le librerie e le dipendenze richieste. Puoi installarlo su qualsiasi distribuzione Linux, indipendentemente dalla sua versione e architettura. Non c'è bisogno di sviluppare un'applicazione separata per ogni distribuzione!

Simile a Snap, esiste ancora un altro strumento per il formato del pacchetto dell'applicazione chiamato Flatpak . Flatpak è un sistema per costruire, installare ed eseguire applicazioni e runtime su diverse distribuzioni Linux.

Ora puoi creare una singola applicazione Flatpak e installarla su diverse versioni di Linux. Non devi preoccuparti delle librerie e delle dipendenze, tutto è racchiuso in un'unica app stessa.

Un'altra caratteristica degna di nota è che possiamo installare più versioni della stessa applicazione contemporaneamente nel sistema Linux. Ad esempio, è possibile installare il lettore VLC versione 2.1, 2.2 e 2.3 sullo stesso sistema. Se sei uno sviluppatore, puoi testare diverse versioni di un'applicazione alla volta.

Flatpak è stato originariamente sviluppato da Alex Larsson e successivamente approvato da Red Hat, Endless Computers e Collabora. Ora è attivamente mantenuto da una comunità indipendente, composta da contributori, volontari e organizzazioni di supporto. Il framework Flatpak è scritto in C e rilasciato sotto LGPL licenza.

Tempi di esecuzione

Ogni applicazione flatpak dipende da un runtime per funzionare correttamente su un sistema host. Un runtime non è altro che un insieme di dipendenze di base (librerie) richieste da un'applicazione.

Quando installiamo un'applicazione utilizzando il comando flatpak, verrà automaticamente installato un runtime. I runtime sono indipendenti dalla distribuzione, quindi possono funzionare su qualsiasi distribuzione Linux. Più di un'applicazione può utilizzare un singolo runtime.

Attualmente sono disponibili tre runtime principali:Freedesktop , GNOME e KDE . Questi sono tutti ospitati su Flathub deposito.

Librerie in bundle

Le librerie che non sono disponibili in un runtime vengono raggruppate insieme all'applicazione dagli sviluppatori. Le librerie possono anche essere versioni di librerie diverse da quelle che si trovano in un runtime e/o versioni patchate di librerie.

Sandbox

Un'app Flaptpak viene creata ed eseguita in un ambiente isolato noto come "Sandbox". In altre parole, le app flatpak sono isolate dal resto del sistema operativo host e da altre applicazioni.

Ogni sandbox contiene l'applicazione e il relativo runtime. Un'applicazione flatpak può accedere solo ai contenuti della sua sandbox per impostazione predefinita. L'accesso ai file utente, alla rete, alla grafica e ai dispositivi deve essere esplicitamente fornito dall'utente.

Repository

Tutte le applicazioni flatpak ei relativi runtime sono archiviati in una posizione centrale denominata "Repository". Hub piatto è il repository ufficiale di tutte le applicazioni Flatpak. Possiamo accedere e installare le applicazioni e i runtime utilizzando l'interfaccia a riga di comando flatpak.

Installa Flatpak su Linux

Flatpak è disponibile nei repository predefiniti delle distribuzioni Linux più diffuse come Arch Linux, Debian, Fedora, Gentoo, Red Hat, Linux Mint, openSUSE, Solus, Mageia e le distribuzioni Ubuntu.

Per installare Flatpak su Arch Linux e le sue varianti come EndeavourOS e Manjaro Linux , esegui:

$ sudo pacman -S flatpak

Flatpak è disponibile nei repository predefiniti di Debian Buster e versioni più recenti. Per installare Flatpak su Debian, eseguire:

$ sudo apt install flatpak

Se stai usando GNOME DE su Debian, installa il plugin Flatpak per il software GNOME usando il comando:

$ sudo apt install gnome-software-plugin-flatpak

Su Fedora , Flatpak è installato per impostazione predefinita. Tutto quello che devi fare è abilitare abilita Flathub come descritto nella sezione successiva.

Nel caso in cui non fosse installato per qualsiasi motivo, esegui:

$ sudo dnf install flatpak

Su RHEL 7 , esegui:

$ sudo yum install flatpak

Su CentOS 7 , Flatpak è installato per impostazione predefinita. Quindi nessuna configurazione richiesta!

A partire da Linux Mint 18.3 , flatpak è installato per impostazione predefinita. Quindi, nessuna configurazione richiesta.

Su openSUSE Tumbleweed, Flatpak può essere installato utilizzando Zypper:

$ sudo zypper install flatpak

Su Ubuntu 18.10 (Cosmic Seppie) e versioni successive di Ubuntu, installa flatpak usando questo comando:

$ sudo apt install flatpak

Nelle versioni precedenti di Ubuntu, aggiungi il seguente repository e installa Flatpak come mostrato di seguito.

$ sudo add-apt-repository ppa:alexlarsson/flatpak
$ sudo apt update
$ sudo apt install flatpak

Il plug-in Flatpak per l'app GNOME Software consente di installare app senza bisogno della riga di comando. Per installare questo plugin, esegui:

$ sudo apt install gnome-software-plugin-flatpak

Su Solo , installa flatpak usando il comando:

$ sudo eopkg install flatpak xdg-desktop-portal-gtk

Su Mageia 6 e versioni successive, puoi installare Flatpak con DNF:

$ sudo dnf install flatpak    

In alternativa, installa con urpmi , come di seguito:

$ sudo urpmi flatpak

Pop!_OS 20.04 ha Flatpak installato e Flathub configurato per impostazione predefinita. Se stai utilizzando Pop!_OS 19.10 o versioni precedenti, esegui:

$ sudo apt install flatpak

sistema operativo elementare 5.1 e il più recente viene fornito con il supporto Flatpak pronto all'uso.

Per altre distribuzioni Linux, fare riferimento al link di installazione ufficiale .

Una guida per principianti al Flatpak

Esistono molte applicazioni popolari come Gimp, Kdenlive, Steam, Spotify e Visual Studio Code ecc., disponibili come flatpak. Per installare un'app flatpak, dobbiamo prima aggiungere repository flatpak (o telecomandi).

1. Aggiungi repository remoti

Come ho già detto, le applicazioni e i runtime sono archiviati in un repository o in remoto. Il repository ufficiale per flatpak è Flathub .

Per abilitare il repository Flathub su Linux, esegui semplicemente questo comando:

$ sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

Sono disponibili molti altri repository flatpak non ufficiali. Fai una rapida ricerca sul web per trovarli.

2. Elenca i telecomandi

Per elencare tutti i repository remoti configurati, esegui:

$ flatpak remotes

Risultato di esempio:

Name    Options
flathub system

Come puoi vedere, il comando sopra elenca i telecomandi che hai aggiunto nel tuo sistema. Elenca anche se il telecomando è stato aggiunto per utente o a livello di sistema. Nel mio caso, ho aggiunto il repository flathub a livello di sistema.

3. Installa le applicazioni Flatpak

In questa sezione vedremo come installare le app flatpak.

Per installare un'applicazione Flatpak, ad esempio GNOME box, eseguire:

$ flatpak install flathub org.gnome.Boxes

Il comando precedente installerà l'applicazione a livello di sistema.

Se non desideri installare app a livello di sistema, puoi anche installare app flatpak per utente come di seguito.

$ flatpak install --user <name-of-app>

Tutte le app installate verranno archiviate in $HOME/.var/app/ posizione.

$ ls $HOME/.var/app/
com.github.calo001.fondo com.github.tchx84.Flatseal org.gnome.Boxes

4. Esegui le applicazioni Flatpak

È possibile avviare le applicazioni installate in qualsiasi momento dal programma di avvio delle applicazioni. Dalla riga di comando, puoi eseguirlo, ad esempio GNOME box, usando il comando:

$ flatpak run org.gnome.Boxes

Flatpak aggiungerà le voci di menu per tutte le app flatpak. Quindi puoi avviare direttamente dal menu o dall'utilità di avvio dell'applicazione.

5. Cerca applicazioni flatpak

Per cercare un'applicazione:

$ flatpak search gimp

Risultato di esempio:

Name                  Description                                                                                      Application ID               Version Branch Remotes
GNU Image Manipulati… Create images and edit photographs                                                               org.gimp.GIMP                2.10.20 stable flathub
GIMP User Manual      GIMP User Manual                                                                                 org.gimp.GIMP.Manual         2.10    2.10   flathub
Resynthesizer         Set of GIMP plug-ins that heal (in-paint), synthesize texture, theme an image, and more          …p.GIMP.Plugin.Resynthesizer 2.0.3   2-3.36 flathub
GimpLensfun           GimpLensfun is a Gimp plugin to correct lens distortion using the lensfun library and database.  org.gimp.GIMP.Plugin.Lensfun 0.2.4   2-3.36 flathub
Fourier               A simple GIMP plug-in to do fourier transform on your image.                                     org.gimp.GIMP.Plugin.Fourier 0.4.3   2-3.36 flathub
BIMP                  Batch Image Manipulation Program, a GIMP plugin to apply a set of manipulations to an entire gr… org.gimp.GIMP.Plugin.BIMP    2.4     2-3.36 flathub
LiquidRescale         LiquidRescale plugin to resize pictures non uniformly while preserving their features, i.e. avo… …p.GIMP.Plugin.LiquidRescale 0.7.2   2-3.36 flathub
G'MIC                 GREYC's Magic for Image Computing                                                                org.gimp.GIMP.Plugin.GMic    2.9.2   2-3.36 flathub
FocusBlur             Focus Blur plug-in crete a blurring effect similar to Depth of Field.                            ….gimp.GIMP.Plugin.FocusBlur 3.2.6   2-3.36 flathub
Glimpse               Create images and edit photographs                                                               org.glimpse_editor.Glimpse   0.2.0   stable flathub
Scans to PDF          Create small, searchable PDFs from scanned documents                                             com.github.unrud.djpdf       0.1.2   stable flathub

Questo comando restituirà tutte le applicazioni che corrispondono alla stringa "gimp" da tutti i telecomandi.

6. Elenca le applicazioni flatpak e i runtime installati localmente

Per visualizzare tutte le applicazioni flatpak e i runtime installati sul tuo sistema, esegui:

$ flatpak list

Risultato di esempio:

Name                           Application ID                  Version Branch Installation
Fondo                          com.github.calo001.fondo        1.3.8   stable system
Flatseal                       com.github.tchx84.Flatseal      1.5.2   stable system
default                        …reedesktop.Platform.GL.default         19.08  system
Intel                          …eedesktop.Platform.VAAPI.Intel         19.08  system
openh264                       ….freedesktop.Platform.openh264 2.1.0   2.0    system
GNOME Boxes                    org.gnome.Boxes                 3.36.6  stable system
GNOME Application Platform ve… org.gnome.Platform                      3.36   system
Ambiance Gtk theme             org.gtk.Gtk3theme.Ambiance              3.22   system
Yaru-light Gtk Theme           org.gtk.Gtk3theme.Yaru-light            3.22   system

Se desideri visualizzare l'elenco delle applicazioni installate e dei runtime con dimensione installata , usa -d bandiera.

$ flatpak list -d

Risultato di esempio:

… … … Version Branch Arch   Origin  Installation Ref                                               Active commit Latest commit Installed size …
… … … 1.3.9   stable x86_64 flathub system       com.github.calo001.fondo/x86_64/stable            4755529773f0  -              89.3 MB       …
… … … 1.6.2   stable x86_64 flathub system       com.github.tchx84.Flatseal/x86_64/stable          4e1efc03269e  -               2.9 MB       …
…  …         19.08  x86_64 flathub system       org.freedesktop.Platform.GL.default/x86_64/19.08  f68c8e930d04  -             255.7 MB       …
…  …         19.08  x86_64 flathub system       org.freedesktop.Platform.VAAPI.Intel/x86_64/19.08 19fe8e74d641  -              37.0 MB       …
… … … 2.1.0   2.0    x86_64 flathub system       org.freedesktop.Platform.openh264/x86_64/2.0      73f998362a6f  -             778.2 kB       …
… … … 3.36.6  stable x86_64 flathub system       org.gnome.Boxes/x86_64/stable                     98c619ed7873  -             706.9 MB       …
… … …         3.36   x86_64 flathub system       org.gnome.Platform/x86_64/3.36                    d79ff93caf2d  -             934.6 MB       …
… … …         3.22   x86_64 flathub system       org.gtk.Gtk3theme.Ambiance/x86_64/3.22            73fed99df212  -              16.3 MB       …
… … …         3.22   x86_64 flathub system       org.gtk.Gtk3theme.Yaru-light/x86_64/3.22          2573259417d8  -             718.3 kB       …

Elenca solo i runtime con il comando:

$ flatpak list --runtime

Risultato di esempio:

Name                           Application ID                  Version Branch Installation
Locale                         com.github.calo001.fondo.Locale         stable system
default                        …reedesktop.Platform.GL.default         19.08  system
Intel                          …eedesktop.Platform.VAAPI.Intel         19.08  system
openh264                       ….freedesktop.Platform.openh264 2.1.0   2.0    system
Locale                         org.gnome.Boxes.Locale                  stable system
GNOME Application Platform ve… org.gnome.Platform                      3.36   system
Ambiance Gtk theme             org.gtk.Gtk3theme.Ambiance              3.22   system
Yaru-light Gtk Theme           org.gtk.Gtk3theme.Yaru-light            3.22   system

Per visualizzare solo le applicazioni, non i tempi di esecuzione, utilizza invece questo comando.

$ flatpak list --app

Risultato di esempio:

Name             Application ID                  Version      Branch      Installation
Fondo            com.github.calo001.fondo        1.3.8        stable      system
Flatseal         com.github.tchx84.Flatseal      1.5.2        stable      system
GNOME Boxes      org.gnome.Boxes                 3.36.6       stable      system

7. Elenca le applicazioni remote e i runtime

Puoi anche visualizzare l'elenco delle applicazioni disponibili e dei runtime anche dai repository remoti.

Per elencare applicazioni e runtime da tutti i telecomandi usando il comando:

$ flatpak remote-ls

Elenca solo i tempi di esecuzione:

$ flatpak remote-ls --runtime

Elenca solo le applicazioni:

$ flatpak remote-ls --app

Elenca le applicazioni e i runtime da un repository specifico, ad esempio flathub , esegui:

$ flatpak remote-ls flathub

Per elencare solo le applicazioni da un repository remoto, esegui:

$ flatpak remote-ls flathub --app

8. Aggiorna le applicazioni flatpak

Per aggiornare tutte le tue applicazioni flatpak, esegui:

$ flatpak update

Per aggiornare un'applicazione specifica, facciamo:

$ flatpak update org.gnome.Boxes

9. Visualizza i dettagli di un'applicazione flatpak

Per visualizzare i dettagli di un'applicazione installata, eseguire:

$ flatpak info org.gnome.Boxes

Risultato di esempio:

GNOME Boxes - Simple remote and virtual machines

          ID: org.gnome.Boxes
         Ref: app/org.gnome.Boxes/x86_64/stable
        Arch: x86_64
      Branch: stable
     Version: 3.36.6
     License: LGPL-2.1+
      Origin: flathub
  Collection: org.flathub.Stable
Installation: system
   Installed: 706.9 MB
     Runtime: org.gnome.Platform/x86_64/3.36
         Sdk: org.gnome.Sdk/x86_64/3.36

      Commit: 98c619ed78736e85433bcbecd5c4392ad30d4890a71ddc909f5b4c51dfcde340
      Parent: 72ec972e0ce7fdf640f478d406a8acad5f90ebd1f8c0ac330baa7ed3dd5ccd70
     Subject: Build vte from git master (a8cf05d9)
        Date: 2020-09-02 10:02:20 +0000

10. Disinstalla le applicazioni flatpak

Per rimuovere un'applicazione flatpak, esegui:

$ sudo flatpak uninstall org.gnome.Boxes

11. Rimuovere i repository remoti

Per rimuovere un telecomando, ad esempio flathub:

$ sudo flatpak remote-delete flathub

Qui, mozzo piatto è il nome del telecomando.

12. Rimuovi i runtime inutilizzati

Dopo aver rimosso tutte le applicazioni che dipendono da un runtime specifico, il runtime stesso non verrà rimosso automaticamente.

Per rimuovere i runtime e le estensioni che non vengono utilizzati da nessuna applicazione installata, esegui:

$ flatpak uninstall --unused

13. Rimuovere la cache del flatpak

Per rimuovere la cache flatpak rimanente nel tmp posizione, esegui:

$ sudo bash -c "! pgrep -x flatpak && rm -r /var/tmp/flatpak-cache-*"

Se stai usando systemd come gestore di sistema predefinito, puoi automatizzare l'attività di pulizia della cache residua del flatpak come di seguito.

Crea un file di servizio denominato clear_flatpak_cache.service in /lib/systemd/system/ directory con i seguenti contenuti:

[Unit]
Description=Flatpak cache cleaner

[Service]
ExecStart=bash -c "! pgrep -x flatpak && rm -r /var/tmp/flatpak-cache-*"

[Install]
WantedBy=multi-user.target

Avvia e abilita questo servizio all'avvio:

$ sudo systemctl enable --now clear_flatpak_cache

D'ora in poi, i file di cache flatpak rimanenti verranno cancellati all'avvio.

14. Riparare l'installazione del flatpak

Possiamo riparare un'installazione flatpak eliminando e reinstallando gli oggetti non validi.

Per farlo, esegui:

$ flatpak repair

Puoi anche eseguire riparazioni per utente e per sistema con --user e --system bandiere.

Ripara l'installazione per utente:

$ flatpak repair --user

Ripara l'installazione per sistema:

$ flatpak repair --system

15. Visualizza la cronologia dei flatpak

Potresti aver installato alcune app, aggiornate o rimosse. Tutte le transazioni flatpak verranno registrate da flatpak.

Puoi guardare questi registri per scoprire quali modifiche sono state apportate alla tua installazione Flatpak nel tempo.

$ flatpak history

16. Visualizza la sezione della guida di flatpak

Per assistenza flatpak, eseguire:

$ flatpak --help

Questo comando visualizzerà l'elenco di tutte le opzioni e i sottocomandi flatpak disponibili con una piccola descrizione.

Conclusione

Questo tutorial di flatpak ti ha fornito una breve introduzione a Flatpak e alle tecnologie sottostanti utilizzate in Flatpak come runtime, telecomandi, librerie in bundle e sandbox ecc. E poi, ha anche spiegato come installare e utilizzare flatpak su distribuzioni Linux.

Lettura consigliata:

  • Come configurare facilmente le autorizzazioni delle app Flatpak con Flatseal
  • Gestori di pacchetti Linux a confronto:AppImage vs Snap vs Flatpak

Linux
  1. Come installare e utilizzare telnet su Kali Linux

  2. Come installare e utilizzare lo schermo Linux?

  3. Come installare e utilizzare SSHFS su Linux

  4. Come installare e utilizzare Slack in Linux

  5. Come installare e utilizzare Traceroute in Linux

Come installare e utilizzare Telnet su sistemi Linux

Come installare e utilizzare ZSH Shell in Linux

Come installare e utilizzare il comando fd in Linux

Come installare e utilizzare Nu Shell su Linux

Come installare e utilizzare Flatpak su Linux

Come installare e utilizzare Snapcraft su Linux