Programvare via Flatpak

Flatpak er et verktøy for å installere og vedlikeholde programvare for Linux, nesten uavhengig av Linux-distribusjon.

Notat

Gjelder ikke RHEL7

Det som er beskrevet på denne siden gjelder kun nyere versjoner av Red Hat Enterprise Linux (RHEL), samt Fedora.

1   Hva er Flatpak

Flatpak er en ny måte å bygge, distribuere og installere desktop-programvare for Linux. Det baserer seg på at programvare kjører i en Linux container og er derfor sperret ned og forhindret fra å gjøre noe den ikke burde. Avhengigheter er enten bygget inn sammen med pakken eller fås via en "runtime" Flatpak. De viktigste fordelene med denne modellen er:

  • Man kan ha flere versjoner av et program installert samtidig
  • Programvaren kjører i en beskyttet container
  • Endel nyttig programvare er tilgjengeliggjort via Flatpak og er vanskelig å installere ellers

For mer informasjon, se Flatpak - Basic Concepts

2   Forberedelse

For at Flatpak skal kunne brukes må den være installert. På Fedora og nyere versjoner av RHEL er det nok å gjøre:

$ sudo yum install flatpak

Når dette er gjort skal man kunne kjøre flatpak, eksempel:

$ flatpak -h
Usage:
  flatpak [OPTION…] COMMAND
...

3   Bruk av Flatpak

Merk at vi i eksemplene under installerer og vedlikeholder repositories og programvare globalt, dvs. som system. Det er mulig å gjøre alt som en enkeltbruker uten privilegier, men det vil da kun være tilgjengelig for denne ene brukeren. Dette er ikke anbefalt metode for generell bruk. For mer info, se System versus User.

3.1   Legge inn repository

Programvare i Flatpak kan man få tak i via offisielle repositories (også kalt "remotes"). Det vanligste og viktigste repoet er Flathub, og legges inn slik:

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

3.2   Finne programvare

Man kan bruke kommandoen flatpak search for å søke etter programvare i repoer som allerede er lagt inn. For eksempel, dersom vi leter etter "Skype":

$ flatpak search skype
Name   Description                                         Application ID         Version   Branch Remotes
Skype  Call and message skype users, with video chat supp… com.skype.Client       8.61.0.95 stable flathub
Franz  Messenger for the desktop                           com.meetfranz.Franz    5.4.1     stable flathub
Disco… Chat client                                         com.discordapp.Discord 0.0.10    stable flathub

3.3   Installere programvare

For å installere eksempelvis Skype kan man enten referere til det som er listet opp under "Name" eller "Application ID":

$ sudo flatpak install com.skype.Client
Looking for matches…
Found similar ref(s) for ‘com.skype.Client’ in remote ‘flathub’ (system).
Use this remote? [Y/n]: y
Required runtime for com.skype.Client/x86_64/stable (runtime/org.freedesktop.Platform/x86_64/19.08) found in remote flathub
Do you want to install it? [Y/n]: y

com.skype.Client permissions:
    ipc              network                 pulseaudio              x11
    devices          file access [1]         dbus access [2]         system dbus access [3]

    [1] home:ro, xdg-download
    [2] com.canonical.AppMenu.Registrar, org.freedesktop.Notifications, org.freedesktop.secrets,
        org.gnome.GConf, org.gtk.Notifications, org.kde.StatusNotifierWatcher
    [3] org.bluez, org.freedesktop.NetworkManager, org.freedesktop.login1


        ID                                        Branch       Op      Remote       Download
 1. [✓] org.freedesktop.Platform.GL.default       19.08        i       flathub       84.6 MB / 85.1 MB
 2. [✓] org.freedesktop.Platform.Locale           19.08        i       flathub       17.6 kB / 318.3 MB
 3. [✓] org.freedesktop.Platform.openh264         2.0          i       flathub        1.5 MB / 1.5 MB
 4. [✓] org.freedesktop.Platform                  19.08        i       flathub      194.4 MB / 238.5 MB
 5. [✓] com.skype.Client                          stable       i       flathub       85.2 MB / 85.5 MB

Installation complete.

3.4   Liste opp programvare

Kommandoen flatpak list lister opp pakker som er installert:

$ flatpak list
Name                     Application ID                          Version       Branch    Installation
Skype                    com.skype.Client                        8.61.0.95     stable    system
Freedesktop Platform     org.freedesktop.Platform                19.08.11      19.08     system
default                  org.freedesktop.Platform.GL.default                   19.08     system
openh264                 org.freedesktop.Platform.openh264       2.1.0         2.0       system

I vårt tilfelle har vi installert Microsoft Skype samt tre Platform-pakker (såkalte "runtimes"), som inneholder programvare som Skype avhenger av.

Vi kan utelate runtimes ved å spesifisere opsjonen --app:

$ flatpak list --app
Name        Application ID         Version        Branch      Installation
Skype       com.skype.Client       8.61.0.95      stable      system

3.5   Kjøre programvare

Det meste av programvare via Flatpak vil ha en "desktop-fil" som forteller GNOME og andre vindussystemer om programvaren. For å starte Skype trenger man da kun trykke på Windows-tasten, eller bevege muspekeren øverst i venstre hjørne av skjermen, for deretter å lete fram Skype ved å skrive "Skype" på tastaturet.

Dersom man vil starte programvare via kommandolinjen gjøres det på følgende måte:

$ flatpak run com.skype.Client

3.6   Oppdatere programvare

Oppdatering av programvare gjøres med flatpak update:

$ sudo flatpak update
Looking for updates…
Nothing to do.

3.7   Avinstallere programvare

Programvare kan avinstalleres med kommandoen flatpak uninstall:

$ sudo flatpak uninstall com.skype.Client


        ID                     Branch       Op
 1. [-] com.skype.Client       stable       r

Uninstall complete.

Eventuelle avhengigheter som ble lagt inn samtidig blir ikke fjernet på denne måten. For å fjerne disse:

$ sudo flatpak uninstall --unused


        ID                                           Branch          Op
 1. [-] org.freedesktop.Platform.GL.default          19.08           r
 2. [-] org.freedesktop.Platform.openh264            2.0             r
 3. [-] org.freedesktop.Platform                     19.08           r
 4. [-] org.freedesktop.Platform.Locale              19.08           r

Uninstall complete.

4   Våre favoritter

Våre favoritter av programvare som er tilgjengelig via Flatpak fra Flathub er listet under. For hver av dem, installer med kommandoen

flatpak install <Application ID>

Se Installere programvare for eksempel på bruk.

Navn Application ID
Mattermost com.mattermost.Desktop
Skype com.skype.Client
Slack com.slack.Slack
Telegram Desktop org.telegram.desktop
Spotify com.spotify.Client
Discord com.discordapp.Discord
Draw.io com.jgraph.drawio
Av Trond Hasle Amundsen
Publisert 2. apr. 2024 16:44