Die Welt der Betriebssysteme steht vor einem Umbruch, der zumindest teilweise bereits vollzogen wird. Im Kern geht es darum, das eigentliche Betriebssystem von den Anwendungen zu trennen. Damit schafft man einen relativ kleinen und stabilen Linux-Unterbau, der sich schnell und einfach aktualisieren lässt. Für den Distributor verringert sich damit der Wartungsaufwand deutlich.
Anders als bei DEB- oder RPM-Paketen werden Anwendungen nicht im Dateisystem der Distribution in Ordnern wie „/usr/bin“ installiert. Stattdessen laufen sie vom Linux-System weitestgehend unabhängig in eigenen Verzeichnissen, in denen auch alle benötigten Komponenten untergebracht sind.
Softwareentwickler können dadurch Updates unkompliziert herausgeben, ohne die Programme mühsam auf jeder Linux-Distribution zu testen. Nutzer erhalten schneller aktuellere Software. Der modulare Aufbau erhöht insgesamt die Zuverlässigkeit des gesamten Systems und kann zur beschleunigten Entwicklung beitragen.
Die neuen Paketformate kommen bereits aktuell bei Distributionen wie Ubuntu und Linux Mint zum Einsatz – standardmäßig allerdings unterschiedliche. Zur Zeit gibt es die meisten Anwendungen auch noch als herkömmliches Paket. Bei Bedarf kann der Nutzer das eine oder andere installieren und damit die Softwareinstallation nach eigenen Wünschen zusammenbauen.
Welche Besonderheiten es dabei zu beachten gibt, zeigt dieser Artikel.
Lesetipp: Linux wird 31 Jahre alt – eine Zeitreise in Bildern
Pakete, Bibliotheken & Container

Snap und Flatpak: Die Programme nutzen eigene Bibliotheken und ein Basissystem (Ubuntu Core/Flatpack Runtime). Vom installierten System sind sie damit weitgehend unabhängig.
IDG
Ein Programm wird in der Regel als kompilierte Binärdatei ausgeliefert, die aber nicht alleine lauffähig ist. Elemente für die grafische Oberfläche und zahlreiche Funktionen sind in Programmbibliotheken untergebracht, die von verschiedenen Anwendungen gemeinsam genutzt werden.
Diese Bibliotheken müssen der Version entsprechen, mit der das Programm kompiliert wurde. Deshalb enthalten die Pakete aus den Repositorien der Distribution eine Liste mit Voraussetzungen und Abhängigkeiten. Die Paketverwaltung richtet die nötigen Zusatzpakete automatisch ein, wenn neue Software installiert wird. Damit nicht ständig neue Versionen der Bibliotheken geprüft und bereitgestellt werden müssen, bleiben LTS-Distributionen in der Regel bei den Hauptversionen der Anwendungen. Alles andere würde die Stabilität des Systems beeinträchtigen.
Software in Containern: Wenn man Software zusammen mit den benötigten Bibliotheken in einen Container beziehungsweise ein eigenes Verzeichnis packt, ist ein Teil der Probleme gelöst. Allerdings benötigen Bibliotheken selbst einige Basisbibliotheken, die standardmäßig das Linux-System bereitstellt. Damit die Verfügbarkeit der benötigten Version gewährleistet ist, packt man auch alle relevanten Teile des Betriebssystems in einen Container.
Daraus ergeben sich drei Bausteine: Programme inklusive privater Bibliotheken, ein Basissystem mit Tools und Bibliotheken und der Kernel beziehungsweise das Betriebssystem, auf dem alles zusammen läuft.
Zur Zeit sind drei alternative Paketformate für Desktopnutzer verbreitet:
- Snap kommt vor allem bei Ubuntu zum Einsatz und die Entwicklung findet maßgeblich beim Ubuntu-Distributor Canonical statt.
- Flatpak wurde als Teil des Projekts freedesktop.org entwickelt und bevorzugt kein bestimmtes Betriebssystem. Das Paketformat wird beispielsweise von Linux Mint favorisiert.
- Das Appimage-Format wurde 2004 von Simon Peter unter dem Namen klik entwickelt. Appimage-Programme bestehen aus einer einzelnen Datei, die alle nötigen Komponenten enthält.
Allen Formaten ist gemeinsam, dass die Pakete deutlich umfangreicher sind als klassische DEB-Pakete. Bei Installation und Update sind daher größere Downloads erforderlich, auf dem Datenträger benötigen Container deutlich mehr Platz und die Programme starten auch etwas langsamer. Letzteres sollte auf aktuellen Rechnern jedoch kaum spürbar sein.
Docker-Desktop: Grafische Oberfläche für Container
Snap-Pakete unter Ubuntu verwenden

Komplexe Pakete: Synaptic zeigt in den Eigenschaften eines Pakets, welche Bibliotheken ein Programm benötigt. Bei Libre Office beispielsweise ist die Liste lang.
IDG
Ubuntu 22.04 richtet den Browser Firefox und den Paketmanager Ubuntu Software (snap-store) standardmäßig als Snap-Apps (kurz: Snaps) ein. Für Snap wird außerdem unter anderem das Basissystem „core20“ (Ubuntu Core) sowie „gnome-3“ als Snap-Paket installiert. Im Terminal kann man sich mittels
snap list
eine Liste der installierten Pakete ausgeben lassen.
Bei der Installation neuer Programme über Ubuntu Software wird auf den ersten Blick nicht zwischen DEB- und Snap-Paketen unterschieden. Sucht man beispielsweise nach „LibreOffice“, wird das Paket als „Installiert“ angezeigt. Nach einem Klick auf das Suchergebnis steht rechts oben hinter „Quelle“, woher das Paket stammt. Bei Libre Office ist das zur Zeit „ubuntu-jammybackports-main (deb)“, also ein herkömmliches DEB-Paket. Man kann aber auch „Snap-Store (Snap)“ wählen und erhält dann nach einem Klick auf „Installieren“ eine aktuellere Version (derzeit 7.5.1.2).
Für die Snap-Apps zeigt Ubuntu Software meist die vier Kanäle „latest/stable“, „latest/ candidate“, „latest/beta“ und „latest/ edge“ an. Je nach Verfügbarkeit lässt sich darüber eine noch aktuellere Version installieren. Sie können aber jederzeit zu einer älteren Snap-App zurückkehren.
Snap-Pakete lassen sich parallel zu den DEB-Paketen installieren. Sie können daher ohne Risiko neuere neben älteren Versionen verwenden. Bei Parallelinstallationen lassen sich die Programmversionen jedoch schwer auseinanderhalten. Die Suche über „Aktivitäten“ zeigt die Programme zweimal mit dem gleichen Icon, aber ohne Versionsnummer an.
Sicherheit und Berechtigungen: Snap-Apps befinden sich in schreibgeschützten Squashfs-Containern, die unter „/var/lib/ snapd/snaps“ in das Dateisystem eingehängt sind. Die Dateien der Anwendungen lassen sich daher vom Benutzer oder von Schadsoftware nicht ohne Weiteres verändern. Snap-Apps laufen zunächst isoliert vom Linux-System in einer Sandbox. Der Zugriff auf Geräte, Dienste oder das Dateisystem muss explizit erlaubt werden. Das geschieht automatisch bei der Installation mit meist sinnvollen Einstellungen für die jeweilige Anwendung.
Welche Rechte gelten, lässt sich bei einem Programm in Ubuntu Software per Klick auf „Permissions“ einsehen und ändern. Beim VLC beispielsweise sollte man „Use your camera“ aktivieren, wenn man eine Webcam als Aufnahmegerät verwenden will. Die verfügbaren und bereits aktivierten Optionen können bei jedem Programm unterschiedlich sein. Es lohnt sich daher, die Berechtigungen zu kontrollieren, wenn ein Programm nicht wie erwartet arbeitet.

Snap-Apps installieren: Bei der Installation hat man meist die Wahl zwischen mehreren Versionen der Software. Das DEB-Paket lässt sich ebenfalls installieren, ist aber meist deutlich älter.
IDG
Snap-Apps im Terminal verwalten: Im Terminal ermöglicht das Tool snap den Zugriff auf erweiterte Funktionen. Mit
snap find [Paketname]
lässt sich herausfinden, ob es ein Snap-Paket für die gewünschte Software gibt. Zur Snap-Suche und für Empfehlungen sollte man zuvor den zentralen Store https://snapcraft.io/store ansteuern. Hier erfährt man auch, welche Versionen sich in den unterschiedlichen Kanälen im Angebot befinden. Ein Klick in das Auswahlfeld oben rechts im Fenster und danach auf den gewünschten Kanal liefert auch gleich die nötige Befehlszeile – beispielsweise für die Betaversion von VLC diese:
sudo snap install vlc --beta
Im Terminal ermittelt man die Versionsnummern in den Kanälen mit
snap info vlc
Wenn Sie eine neuere Version ausprobieren möchten, wechseln Sie den Updatekanal, für VLC so:
sudo snap switch --edge vlc && sudo snap refresh vlc
Zurück zur Version aus dem „stable“-Kanal geht es mit diesem Befehl:
sudo snap switch --stable vlc && sudo snap refresh vlc
Snap in Linux Mint: Linux Mint verwendet das alternative Paketformat Flatpak statt Snap. Wer auch hier Snap einsetzen möchte, muss die Mint-Blockade durch den Paketmanager im Terminal mit
sudo mv /etc/apt/preferences.d/nosnap.pref ~/nosnap.pref.backup
aufheben. Danach kann man das Basispaket mit
sudo apt install snapd
installieren. Installationen und Verwaltung erfolgen dann mit snap im Terminal – oder man installiert mit
snap install snap-store
zusätzlich den Snap-Store, den auch Ubuntu verwendet.
DEB-Pakete statt Snap verwenden: Wer unter Ubuntu auf Snap verzichten möchte, kann zumeist noch auf klassische Pakete aus den Standard-Repositorien zurückgreifen. Für Firefox und Chromium gilt das seit Ubuntu 22.04 nicht mehr.
Die alternative Installation aus einem PPA ist möglich, dazu muss man jedoch das Snap-Paket entfernen und dafür sorgen, dass es nicht wieder installiert wird. Über https://m6u.de/debsna finden Sie Bash-Scripts, die Ihnen diese Arbeit bei Firefox und Chromium abnehmen. Da die Deinstallation des Snap-Pakets die vorhandene Konfiguration löscht, exportieren Sie Daten wie Lesezeichen vorher und importieren sie danach im klassischen DEB-Browser.
Flatpak in Linux Mint und Ubuntu
Flatpak ist technisch mit Snap vergleichbar. Die Flatpak-Pakete werden in Ordnern unterhalb von „/var/lib/flatpak/app“ eingerichtet, die Konfigurationsdateien liegen im Home-Verzeichnis des Benutzers unter „.var/app“. Die Schicht zwischen Anwendung und Betriebssystem nennt sich Runtime und stellt die gemeinsam genutzten Bibliotheken bereit.
Standardmäßig richtet Linux Mint bislang keine Flatpak-Pakete ein. In der Anwendungsverwaltung können Sie sich aber per Klick auf „Flatpak“ die verfügbare Flatpak-Software gezielt anzeigen lassen.
Bei einer Suche in allen Repositorien symbolisieren Icons und die Beschriftung „Flatpak“ die Flatpak-Pakete. Wenn Sie eine Anwendung auswählen, können Sie sich auf der Registerkarte „Details“ für „Systempaket“ oder „Flatpak (Flathub)“ entscheiden, sofern verfügbar.
Eine Übersicht mit Suchfunktion und Empfehlungen für Flatpak-Apps bietet https://flathub.org. Die meist neueren Flatpak-Pakete lassen sich neben der Software aus DEB-Paketen installieren. Im Menü tauchen die Programme zweimal auf, eines davon mit der Info „(Flatpak)“.

Beschränkter Zugriff: Wenn Snap-Apps eine Funktion verweigern, sollte man die Rechte kontrollieren. Damit etwa der VLC die Webcam nutzen darf, muss man die Option erst aktivieren.
IDG
Sicherheit und Berechtigungen: Flatpak-Apps laufen in einer Sandbox und besitzen nur die definierten Zugriffsrechte. In der Regel ist der Standard so festgelegt, dass sich für den Nutzer keine Einschränkungen ergeben. Wer die Zugriffsrechte einsehen oder ändern möchte, installiert über die Anwendungsverwaltung das zusätzliche Tool Flatseal.
Flatpak im Terminal verwalten: Im Terminal erhält man mit
flatpak list
eine Auflistung der installierten Apps und Zusatzpakete. Mit
flatpak search [Programmname]
suchen Sie ein bestimmtes Programm. Für die Installation benötigt man den in der Spalte „Application ID“ angezeigten Wert. VLC beispielsweise kann man mit
sudo flatpak install org.videolan.VLC
installieren. Ersetzen Sie „install“ durch „uninstall“, um ein Programm zu entfernen.
Der Befehl
sudo flatpak update
aktualisiert alle Flatpak-Apps. Gibt man dahinter eine Anwendungs-ID an, wird nur diese App aktualisiert. Die Anwendungs-ID benötigen Sie auch, falls Sie eine Flatpak-App über das Terminal starten wollen:
flatpak run org.videolan.VLC
Unterschiedliche Kanäle wie bei Snap gibt es standardmäßig nicht. Wer neuere Versionen einer Software ausprobieren möchte, fügt im Terminal das Beta-Repository hinzu:
sudo flatpak remote-add flathubbeta https://flathub.org/beta-repo/flathub-beta.flatpakrepo
In der Anwendungsverwaltung sind die neueren Programme am Zusatz „Flathub Beta“ zu erkennen. Stabile Versionen lassen sich nicht parallel mit Betaversionen nutzen, denn die Anwendungs-IDs sind identisch.
Sind beide Versionen installiert, wechseln Sie mit dem Befehl
sudo flatpak make-current [Application ID] beta
zur Betaversion.
Ersetzen Sie „beta“ durch „stable“, um die stabile Version zu aktivieren.
Flatpak in Ubuntu nutzen: Die Flatpak-Basis ist auch in den Paketquellen von Ubuntu enthalten und lässt sich im Terminal mit
sudo apt install flatpak
installieren. Mit
sudo flatpak remote-add --if-notexists flathub https://flathub.org/repo/flathub.flatpakrepo
konfigurieren Sie die Paketquelle. Um über die grafische Oberfläche installieren zu können, rüsten Sie dieses Tool nach
sudo apt install gnome-softwareplugin-flatpak
und starten im Terminal „gnome-software“, um Flatpak-Apps zu installieren.
Portable Programme dank Appimage
Programme im Appimage-Format sind der einfachste Weg, an neue Software zu gelangen. Die Dateien finden Sie meist im Downloadbereich der Softwareanbieter, eine Übersicht bietet www.appimagehub.com.
Ein Programm besteht hier immer aus einer einzigen Containerdatei, die neben dem eigentlichen Programm alle notwendigen Komponenten enthält. Sie müssen die Datei nur ausführbar machen und starten. Der Inhalt wird bei jedem Start temporär entpackt und das Programm ausgeführt.
Besondere Sicherheitsfunktionen bietet ein Appimage nicht. Solange die Anwendung nur mit den Rechten eines Standardbenutzers läuft, besteht aber keine Gefahr, dass Systemdateien beschädigt werden.
Immutable: Die Zukunft der Betriebssysteme?
Schreibgeschützte Betriebssysteme garantieren maximale Betriebssicherheit. Wenn Nutzer durch Eingriffe in das System oder durch Installation neuer Software nichts am System ändern können, sind weder Fehlgriffe noch Schädlinge zu fürchten. Die Entwickler nennen das „immutable“, womit eine unveränderliche root-Partition gemeint ist. Schreibzugriffe sind nur in den Ordnern „/etc“ und „/home“ erlaubt. Systemupdates sind trotzdem möglich und erfolgen nach einem Neustart. Der vorherige Zustand wird gesichert, sodass sich das System bei Problemen wiederherstellen lässt.
Den meisten Immutable-Distributionen ist gemeinsam, dass sie sich bisher nicht neben Windows auf der gleichen Festplatte installieren lassen. Hier ist also eine zweite Festplatte erforderlich und während der Installation die vorübergehende Trennung der Windows-Festplatte empfohlen. Ein Beispiel für eine Immutable-Distribution ist Vanilla-OS, das auf Ubuntu basiert.
Nach der Grundinstallation und einem Neustart kann man wählen, ob man Flatpak und/oder Appimage als Paketquellen nutzen möchte. Danach kann man die Installation von Libre Office und weiteren Programmen aktivieren und die Einrichtung komplettieren. Zusätzliche Anwendungen installiert man über Gnome-Software (Icon „Software“). Im Terminal kommt apx zum Einsatz, das ähnlich wie apt unter Ubuntu funktioniert.
Die Immutable-Systeme Open Suse Micro-OS und Fedora Silverblue sind bereits länger verfügbar. Beide arbeiten ähnlich wie Vanilla-OS und nutzen Flatpak-Apps.