Flatpak für die Linux Sandbox

Flathub

Flatpak ist eine Software zur Softwareverteilung und Virtualisierung von Desktop-Anwendungen. Es stellt dir dafür eine Sandbox-Umgebung zur Verfügung, in der der Anwender bzw. Entwickler Anwendungen isoliert vom Rest des Systems laufen lassen kann.

Das ist irgendwie Eigenartig ein App Sandbox in einer Linux Sandbox (crostini) zu haben. Es vereinfacht aber die Installation der Software sehr.

Wichtig dabei ist zu beachten das gegenüber einem AppImage eine flatpak Installation noch weniger Rechte hat. Deswegen bevorzuge ich eigentlich immer ein AppImage wenn es das gibt.

Flatpak Geschichte

Die Idee für die Verwendung von Anwendungscontainern wurde 2013 vorgeschlagen. Entwickelt die Lösung als Teil des Projekts freedesktop.org und wurde xdg-app genannt.

Verfügbare Anwendungen

Seit Februar 2017 sind einige bekannte Programme erhältlich, beispielsweise Blender, GIMP, LibreOffice sowie Audacity. Es gibt auch einige nicht offizielle Pakete wie z. B. Entwicklungsversionen von Firefox, Skype, Spotify und VS Code.

Eine Übersicht der aktuellen Verfügbarkeiten findest du auf der Flathub Seite.

Flatpak vorbereiten

Obwohl Flatpak nur ein kleineres Repository an Apps hat, wird es offiziell auf Chromebooks unterstützt. Der Vorteil ist das es seine eigene Bibliothek mit essentiellen Paketen mit, was großartig ist.

Öffne das Terminal und führe die untenstehenden Befehle nacheinander aus. Flatpak wird innerhalb weniger Minuten installiert.

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

Jetzt hast du im Prinzip alle Vorbereitungen abgeschlossen.

Woher kommt die Software

Eine Auflistung der Verfügbaren Software Pakete findest du auf der Flathub Seite. Die Übersicht ist hervorragend gegliedert und die Suche funktioniert gut. Wenn du dich für ein Programm entschieden hast findest du am Ende der Seite immer auch die befehle zur Installation.

flatpak Installation
flatpak Installation

Nutzung

Liste installierter Programme

flatpak list 

Zu beachten ist, dass wenn im Folgenden von „Paket“ die Rede ist, nicht einfach der Programmname gemeint ist, sondern tatsächlich der Name, der bei diesem Befehl angezeigt wird. So ist der Paketname von LibreOffice (auf 64-bit Systemen) org.libreoffice.LibreOffice/x86_64/fresh oder einfach nur org.libreoffice.LibreOffice, da alles nach dem / weggelassen werden kann.

Update

sudo flatpak update [PAKET] 

Ohne Angabe von PAKET, wird ein Update aller installierten Programme versucht.

Deinstallation

sudo flatpak uninstall PAKET 

Deinstallation ungenutzter Pakete

Ggf. kann man mit diesem Befehl Speicherplatz freigeben:

sudo flatpak uninstall --unused 

Vor dem Löschen wird man zur Sicherheit nochmal gefragt, ob die angezeigten Pakete tatsächlich gelöscht werden sollen.

Starten

Gängige Desktop-Umgebungen sollten auch über Flatpak installierte Anwendungen automatisch erkennen und wie klassisch installierte Anwendungen anzeigen.

Von Kommandozeile können Flatpak-Anwendungen bei Bedarf so gestartet werden:

flatpak run PAKET 

Weiteres

Für weitere Möglichkeiten empfiehlt sich ein genauer Blick auf die man-Page oder die offizielle Dokumentationen auf der Flatpak-Homepage 🇬🇧.

Speicherbedarf

Den gesamten, auf der Festplatte belegten Speicherplatz aller flatpak-Dateien kann man sich mit

du -hs /var/lib/flatpak 

anzeigen lassen.

flatpak list --show-details 

Zeigt für jede Anwendung u.A. die installierte Größe in einer übersichtlichen Form.

Bekannte Probleme

Über Flatpak installierte Anwendungen können nur auf bestimmte Ordner zugreifen

Dies ist tatsächlich kein Bug, sondern ein (Sicherheits-) Feature.

Flatpak-Anwendungen laufen in einer sogenannten Sandbox und haben so nur Zugriff auf Ressourcen, die die jeweiligen Anwendungen unbedingt brauchen. So hat z.B. ein Browser wie Firefox als Flatpak nur Zugriff auf die persönlichen Ordner – und kann somit auch nicht z.B. auf einer eingehängten Datenpartition Daten löschen oder verschlüsseln.

Berechtigungen für Ordner hinzufügen

Hinweis:

Im Folgenden werden lediglich Berechtigungen für die Flatpak-Anwendung an sich erteilt. Der ausführende Benutzer muss darüber hinaus ebenfalls die enstprechenden Zugriffsrechte für diesen Ordner besitzen.

Möchte man Dateien in einem anderen Ordner lesen oder speichern, kann man mit folgendem Befehl Berechtigungen hinzufügen:

sudo flatpak override --filesystem=/beliebiger/pfad name.des.programms 

Folgende Berechtigungen können gesetzt werden:

  • :ro – nur Leserechte
  • :rw – Schreib- und Leserechte (dies ist die Standardoption)
  • :create – Schreib- und Leserechte, erstellt Ordner, falls dieser nicht vorhanden ist

Beispiel:

sudo flatpak override --filesystem=/media/Daten:create org.mozilla.FirefoxNightly 
  • Folgende Pfade stehen auf der Blacklist und können nicht verwendet werden: /lib/lib32/lib64/bin/sbin/usr/boot/root/tmp/etc/app/run/proc/sys/dev/var
  • Ausnahme von Blacklist : /run/media

Erteilte Berechtigungen anzeigen

Eigens erteilte Berechtigungen kann man sich mit diesem Befehl anzeigen lassen:

flatpak override --show name.des.programms 

Erteilte Berechtigungen entfernen

Mit folgendem Befehl werden alle eigenen Berechtigungen einer Flatpak-Anwendung wieder entfernt:

sudo flatpak override --reset name.des.programms 

Abschlussworte

Damit hast du neben den AppImages und der direkten Installation von Linux Paketen noch eine dritte Möglichkeit Software auf dem ChromeBook zu nutzen. Auf diese Weise wird dein ChromeBook immer mehr zu einer echten Alternative u den teureren Windows Boliden.

Viel Spaß – Lord CrazyMaker

Author: Lord CrazyMaker

5 thoughts on “Flatpak für die Linux Sandbox

  1. Hallo,
    ich habe Flatpak auf meinem chromebook installiert. Nach der Installation auch die Linux Umgebung neu gestartet und dann eine Anwendung (in dem Fall Musescore) über Flatpak installiert. Das hat auch alles wunderbar funktioniert, nur dass sie die Anwendung nicht öffnen lässt. Entweder versucht der Rechner lange Zeit das Programm zu starten, oder es passiert überhaupt nichts, wenn man auf den App-Button klickt. Woran kann das liegen? Mein Chromebook ist ein Lenovo Flex 5 mit i5 Prozessor.
    Schöne Grüße
    Michael

    1. Wenn die Linux Sandbox läuft funktioniert scheinbar der Lupen-Knopf nicht mehr einwandfrei, das ist bekannt und doof, aber nicht zu ändern. Warum in deinem Fall MuseScore nicht funktioniert erschließt sich mir nicht, allerdings nutze ich nicht FlatPack sondern AppImages.

      Starte einfach mal MuseScore im Terminalfenster der Sandbox und schau in die Bildschirmausgabe nach dem Start. Das hilft meist das Problem zu finden. Wenn du magst kannst du mir das Ausgabeprotokoll auch zusenden, dann schaue ich mal rein.

  2. Hallo,

    erst einmal vielen dank für die Anleitung und Information zu den Einschränkungen.
    Anleitungen gibt es viele, aber keiner geht auf die Einschränkungen ein.

    Ich habe folgendes versucht.
    sandro@penguin:~$ sudo flatpak override –filsystem=/mnt/chromeos/MyFiles/Downloads:create mozilla.firefox

    und folgende Fehlermeldung bekommen
    error: Unknown option –filsystem=/mnt/chromeos/MyFiles/Downloads:create.

    Können sie mir sagen wo mein Fehler liegt?

    Vielen Danke im Voraus

    1. Hallo Sandro,

      mir ist nicht ganz klar was du mit dem Befehl erreichen möchtest. In jedem Fall fehlt die Angabe in welchem Scope du was anpassen möchtest:

      –user -> Update a per-user installation.
      –system -> Update the default system-wide installation.

      Ich empfehle dir die Original Doku zu flatpak override.

      Grüße Lord CrazyMaker

      P.S.: Wenn du noch fragen hast einfach melden.

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.