Flatpak Logo

Flatpak aufräumen: Alte Runtimes und Datenreste entfernen

Flatpak vereinfacht die Installation von Anwendungen unter Linux und sorgt durch die unabhängige Bereitstellung der benötigten Bibliotheken für eine hohe Kompatibilität zwischen Distributionen. Allerdings sammeln sich mit der Zeit nicht mehr benötigte Laufzeitumgebungen, Erweiterungen und Konfigurationsdateien an. Nachdem ich eben meinen Flatpak-Bestand aufgeräumt habe, dachte ich, es sei eine gute Idee, mal aufzuschreiben, wie du diese Altlasten über das Terminal oder mit grafischen Werkzeugen entfernen kannst.

Warum Flatpak Speicherplatz beansprucht

Anders als klassische Paketmanager wie APT oder DNF verwendet Flatpak sogenannte Runtimes, die wichtige Bibliotheken und andere Abhängigkeiten für Anwendungen bereitstellen. Zu den bekanntesten gehören die Laufzeitumgebungen von GNOME, KDE und FreeDesktop. Mehrere Anwendungen können dieselbe Runtime gemeinsam nutzen, wodurch Flatpak unnötige Duplikate vermeidet.

Allerdings existieren von diesen Laufzeitumgebungen häufig mehrere Versionen nebeneinander. Während eine Anwendung beispielsweise bereits die Freedesktop-Runtime 25.08 verwendet, benötigt eine andere möglicherweise noch die ältere Version 24.08. Beide bleiben installiert, solange entsprechende Abhängigkeiten bestehen.

Hinzu kommen Erweiterungen für Grafiktreiber, Sprachpakete und andere Komponenten. Besonders auf Systemen, auf denen regelmäßig neue Flatpak-Anwendungen ausprobiert und wieder entfernt werden, können sich dadurch erhebliche Datenmengen ansammeln. Zwar bietet Flatpak Mechanismen zur Bereinigung, doch nicht alle Altlasten werden automatisch entfernt.

Bestandsaufnahme im Terminal

Vor dem Aufräumen empfiehlt sich ein Blick auf die installierten Pakete. Der Befehl flatpak list zeigt sämtliche Anwendungen und Runtimes. Um nur die Laufzeitumgebungen zu sehen, verwende flatpak list --runtime. Übersichtlicher wird es mit

flatpak list --runtime   --columns=application,branch,size,installation

Bei mir sieht das derzeit so aus:

Um festzustellen, welche Runtime eine bestimmte Anwendung benötigt, hilft

flatpak list --app --columns=application,runtime

Auf diese Weise lässt sich beispielsweise herausfinden, weshalb eine ältere GNOME- oder KDE-Runtime noch vorhanden ist. Dabei sollte man beachten, dass Flatpak zwischen systemweiten Installationen und solchen unterscheidet, die ausschließlich für den aktuellen Benutzer eingerichtet wurden. Die Optionen --system und --user erlauben es, beide Bereiche getrennt zu untersuchen.

Nicht mehr benötigte Runtimes entfernen

Für die eigentliche Bereinigung bietet Flatpak einen einfachen Befehl: flatpak uninstall --unused. Flatpak ermittelt damit Runtimes und Erweiterungen, die von keiner installierten Anwendung mehr benötigt werden und für eine automatische Entfernung infrage kommen. Vor dem Löschen zeigt das Werkzeug die betreffenden Komponenten an und fordert eine Bestätigung an. Der Befehl lässt sich mit Erweiterung durch --system oder --user eingrenzen.

Ein vorheriges flatpak update bringt zunächst die installierten Anwendungen und Runtimes auf den aktuellen Stand. Danach lohnt sich eine erneute Bereinigung. Insbesondere nach umfangreichen Aktualisierungen oder dem Entfernen mehrerer Anwendungen können auf diese Weise ältere Laufzeitumgebungen verschwinden.

Allerdings ist --unused kein Allheilmittel. Flatpak behält beispielsweise Runtimes, die ausdrücklich installiert oder gegen das automatische Entfernen geschützt wurden. Sie werden als pinned bezeichnet. Welche Schutzregeln existieren, zeigt der folgende Befehl:

flatpak pin
Pinned patterns:
  runtime/net.mkiol.SpeechNote.Addon.amd/x86_64/stable
  runtime/org.kde.Sdk/x86_64/6.11

Möchte ich beispielsweise das SDK entfernen, wird zunächst der Pin entfernt:

flatpak pin --remove runtime/org.kde.Sdk/x86_64/6.11

Danach kann die Runtime mit flatpak uninstall --unused entfernt werden.

Veraltete Runtimes gezielt entfernen

Gelegentlich meldet flatpak update, dass eine installierte Runtime ihr Supportende erreicht hat. Solche End-of-Life-Warnungen bedeuten nicht zwangsläufig, dass die Laufzeitumgebung ungenutzt ist. Eine Anwendung kann weiterhin von ihr abhängen, obwohl sie keine Sicherheitsupdates mehr erhält.

Welche Anwendungen eine bestimmte Runtime benötigen, lässt sich beispielsweise mit folgendem Befehl feststellen:

flatpak list --app --app-runtime=org.kde.Platform/x86_64/6.11
FreeRDP Client          com.freerdp.FreeRDP           3.32.1         stable        user
KTailctl                org.fkoehler.KTailctl         0.22.3         stable        system
ISO Image Writer        org.kde.isoimagewriter        26.08.1        stable        system
KDE Itinerary           org.kde.itinerary             26.08.1        stable        user

Wird die Runtime noch verwendet, sollte zunächst nach einer aktualisierten Version der betreffenden Anwendung gesucht werden. Ist dagegen sichergestellt, dass eine alte Runtime nicht mehr gebraucht wird, kann sie gezielt entfernt werden:

flatpak uninstall --runtime org.kde.Platform/x86_64/6.11

Zurückgebliebene Anwendungsdaten löschen

Nicht nur Runtimes können Speicherplatz belegen. Auch deinstallierte Anwendungen hinterlassen häufig Daten, denn Flatpak entfernt beim normalen Deinstallieren die benutzerspezifischen Einstellungen und Dateien nicht automatisch. Diese befinden sich üblicherweise im Verzeichnis ~/.var/app/. Eine Übersicht über dessen Größe liefert du -sh ~/.var/app/* | sort -h. Ausnahmen von der Regel sind Anwendungen mit entsprechenden Dateisystemberechtigungen. Sie können auch Daten außerhalb von ~/.var/app/ ablegen, beispielsweise in ~/Dokumente.

Um solche Daten, die Caches, Datenbanken oder andere von Anwendungen erzeugte Dateien enthalten können, bei der endgültigen Entfernung einer Anwendung gleich zu entsorgen, bietet es sich an, den Befehl flatpak uninstall um den Parameter --delete-data zu erweitern. Verwaiste Daten früherer Anwendungen lassen sich damit ebenfalls entfernen.

Grafisch aufräumen mit Warehouse

Wer das Terminal meiden möchte, findet mit Warehouse eine spezialisierte grafische Verwaltung für Flatpak. Das auf GTK basierende und über Flathub installierbare Werkzeug ergänzt Softwarezentren wie KDE Discover oder GNOME Software um Funktionen für die detaillierte Paket- und Datenverwaltung.

Nach dem Start zeigt die Anwendung die installierten Flatpaks und erlaubt es, Pakete zu filtern, zu untersuchen und einzeln oder gesammelt zu entfernen. Auch Runtimes lassen sich einsehen und verwalten. Überdies unterstützt Warehouse das Anheften von Runtimes, um diese vor der automatischen Entfernung zu schützen.

Besonders interessant für die Systempflege ist die Verwaltung zurückgebliebener Anwendungsdaten. Warehouse durchsucht ~/.var/app/ und prüft, ob zu den gefundenen Verzeichnissen noch entsprechende Flatpak-Anwendungen installiert sind. Für verwaiste Daten erlaubt es, diese gezielt zu löschen oder nach einer passenden Anwendung zur erneuten Installation zu suchen.

Vor riskanteren Eingriffen kann Warehouse außerdem Schnappschüsse der Anwendungsdaten anlegen. Damit eignet sich das Programm insbesondere für Anwender, die häufig Software ausprobieren und später möglichst vollständig entfernen möchten.

KDE Discover und GNOME Software

Die Softwareverwaltungen der großen Desktop-Umgebungen erlauben ebenfalls die grafische Deinstallation von Flatpak-Anwendungen. Sowohl KDE Discover als auch GNOME Software können die Pakete über die gewohnten Oberflächen entfernen.

Für die systematische Suche nach verwaisten Datenverzeichnissen oder die gezielte Untersuchung verschiedener Runtime-Versionen sind diese Programme allerdings nicht geeignet. Hier bietet Warehouse den größeren Funktionsumfang, während das Terminal für die automatische Entfernung ungenutzter Abhängigkeiten der unkomplizierteste Weg bleibt.

Wenn Flatpak nach einer Aktion Probleme macht

Manchmal bleiben nach abgebrochenen Installationen oder Aktualisierungen Inkonsistenzen in der lokalen Flatpak-Installation zurück. Für solche Fälle gibt es flatpak repair. Das Werkzeug prüft das lokale OSTree-Repository, bereinigt nicht mehr referenzierte Objekte und versucht, beschädigte oder fehlende Komponenten wiederherzustellen.

In jedem Fall ist es angeraten, gelegentlich Flatpak hinterherzuräumen. Für die regelmäßige Pflege genügt neben flatpak update in vielen Fällen bereits ein beherztes flatpak uninstall --unused. Wer häufig Anwendungen installiert und wieder entfernt, sollte zusätzlich einen Blick auf die Verzeichnisse unter ~/.var/app/ werfen.

Teilt den Beitrag, falls ihr mögt

Kommentar hinterlassen