AA_ofnefrisch_seen0001_123rf_41507625.jpg

© Seen0001, 123RF

Die innovativen Paketformate Flatpak und Snap

Frisch gebacken

Flatpaks und Snaps – was wie neue Knusperriegel klingt, schickt sich an, die Installation von Software zu revolutionieren.

Formate zum Packen von Software sind so alt wie Software selbst. Die heute gebräuchlichsten Formate DEB aus der Debian-Welt und RPM aus dem Red-Hat-Lager teilen die Linux-Welt größtenteils unter sich auf.

Dabei verteilen sich die einzelnen Bestandteile des Pakets – Binaries, Bibliotheken, Konfiguration und Dokumentation – bei der Installation über die gesamte Verzeichnisstruktur. Wo genau, das regelt der Filesystem Hierarchy Standard FHS [1]. Dessen Struktur entstand nicht immer gewollt, sondern ist teils der Ressourcenknappheit in den frühen Jahren der Entwicklung von Unix [2] geschuldet.

Dass man Software auch anders einrichten kann, beweisen seit Langem Betriebssysteme wie Gobo Linux, NixOS oder NeXTStep. Sie verfolgen den Ansatz, eine Applikation mitsamt aller Abhängigkeiten zu packen und als Ganzes zu verwalten. Dieses Prinzips bedienen sich ebenfalls die neuen Formate, deren Vor- und Nachteile sich in der Praxis erschließen.

Ein entscheidender Nachteil der aktuellen Formatvielfalt liegt im hohen Aufwand für Entwickler und Paketbetreuer, wenn diese eine Software für verschiedene Distributionen und deren unterschiedlich aktuellen Zweige paketieren und pflegen.

Linus Torvalds erklärte in einer Fragestunde auf einer Debian-Konferenz 2014 [3], warum es eine von ihm programmierte Software für sein Hobby Tauchen zwar für Windows und Mac OS X gibt, aber nicht für Linux: Keine der großen Distributionen habe die Bestandteile jemals zufriedenstellend gepackt. Torvalds betrachtet die Paketierungsmisere denn auch als einen der wesentlichen Gründe für den ausbleibenden Erfolg von Linux auf dem Desktop.

In etwa zeitgleich zur Fragestunde mit Torvalds veröffentlichte Systemd-Mastermind Lennart Poettering seine Gedanken dazu, wie wir künftig Distributionen bauen und Software installieren sollten. Darin klingt bereits einiges an, was derzeit besonders in Flatpak oder Snappy einfließt [4].

Von XDG-App zu Flatpak

Die vom Gnome-Projekt und von Fedora initiierten XDG-Apps, mittlerweile in Flatpak umbenannt, begegnen dem Problem, das Torvalds sowie viele Entwickler und Unternehmen mit dem Paketieren von Software haben. Das neue Format fasst Anwendungen inklusive fast aller Abhängigkeiten, Bibliotheken und anderer Bestandteile zusammen (Abbildung 1).

Abbildung 1: Krita lässt sich problemlos als Snap in Ubuntu 16.04 installieren.

Um diese Art von Paketen zu installieren und zu nutzen, bedarf es lediglich einer entsprechenden Laufzeitumgebung (Abbildung 2). Auf welcher Distribution unter welchem Desktop diese läuft, spielt dann kaum eine Rolle. Ähnliches gilt für die Tatsache, dass eventuell das gleiche Paket in derselben oder einer anderen Version bereits auf dem System installiert ist.

Abbildung 2: Die Runtime für GNOME 3.20 wird benötigt.

Hier spielt der Neuling einen weiteren Vorteil aus: Alle Apps laufen gegeneinander und das System isoliert in einer Sandbox. Wer sich jetzt an Container erinnert fühlt, liegt nicht so falsch – das Prinzip ist das gleiche. Zudem kommt die Container-Software LXC zum Einsatz, sodass man Flatpaks mit einigem Recht als Desktop-Container bezeichnen kann. So erstaunt es nicht weiter, dass die Entwickler die Spezifikation kompatibel zum Standard der Open-Container-Initiative halten wollen.

Der Name für das Format stammt aus der schwedischen Heimat des Entwicklers Alexander Larsson. Er lehnt sich an die Art an, wie das Unternehmen Ikea seine Produkte in flachen Paketen verpackt. Larsson arbeitet sowohl beim Gnome-Projekt für den Desktop als auch bei Red Hat an Container-Technologien. Er setzt für das Paketformat auf Technologien aus dem Kernel, wie etwa Cgroups, Namespaces, Bind Mounts. Hinzu kommen Seccomp und OSTree [5] aus Red Hats Atomic-Projekt sowie das OCI-Format der Open Container Initiative. Der Einsatz der Linux-spezifischen Techniken bindet das Format, aber auch Snaps an diese Plattform.

Neu entwickelte Techniken wie Bubblewrap [6] finden ihren Weg von Flatpak in das Project Atomic. Bubblewrap erlaubt im Zusammenspiel mit Flatpaks dem normalen Anwender, isolierte Anwendungen zu installieren und zu verwenden, ohne dass diese Zugriff auf das System oder das Home-Verzeichnis erlangen oder Privilegien eskalieren könnten.

Nicht statisch gelinkt

Einen entscheidenden Unterschied gibt es jedoch zu Containern aus der Server-Welt: Systeme wie Docker linken statisch und binden in jedem Container die Laufzeitumgebung mit ein. Flatpaks hingegen bringen eine Abhängigkeit zur Laufzeitumgebung mit, die wiederum den Zugriff auf die grundlegenden Bibliotheken des Systems gewährt.

Der Vorteil liegt darin, dass ein Flatpak theoretisch unbegrenzt lange lauffähig bleibt, selbst wenn sich das Basissystem oder die Anforderungen an die Hardware ändern. Eine Applikation darf allerdings jeweils nur von einer Laufzeitumgebung abhängen. Um hier etwas mehr Flexibilität zu erlauben, arbeitet einer der Entwickler daran, die Laufzeitumgebung in Module aufzuteilen.

Ein genereller Vorteil von diesem und ähnlichen Formaten für Software liegt im verkürzten Weg vom Entwickler zum Anwender: Der Benutzer muss nicht seine gesamte Distribution aktualisieren, um die passenden Abhängigkeiten für eine aktuelle Software zu erhalten. So kann er etwa bei einer Ubuntu-LTS-Version bleiben, aber trotzdem die neueste Software ausprobieren.

Ein Nachteil, der aber in der heutigen Zeit dank niedriger Preise für Festplatten nicht mehr so ins Gewicht fällt, liegt im Bedarf an Plattenplatz, da jedes Flatpak oder Snap einen Teil seiner Bibliotheken und weitere Abhängigkeiten mitbringt. Beim Einsatz von vielen Paketen in diesen Formaten bläht sich das System entsprechend auf.

Flatpak steckt noch mitten in der Entwicklung und ist daher noch kaum bekannt, geschweige denn verbreitet. In Fedora 24 können aber der Paketmanager Gnome Software sowie die IDE Gnome Builder bereits mit dem neuen Format umgehen.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Alternative Paketverwaltung Flatpak mit zahlreichen Änderungen
    Die unter anderem bereits in Fedora zum Einsatz kommende Paketverwaltung Flatpak (ehemals XDG-Apps) liegt in einer neuen Version vor. Obwohl sich nur die letzte Ziffer erhöht, gibt es dennoch zahlreiche grundlegende Neuerungen und vor allem auch Änderungen.
  • Flach gepackt
    Mit Flatpak und Wayland wagt Fedora 24 weitere Schritte in eine neue Linux-Welt.
  • Lagerhaltung
    Technologien wie Flatpak und Snap suggerieren, bisherige Paketverwaltungskonzepte hätten ausgedient. Ein Blick auf den aktuellen Stand der Softwareverwaltung unter Linux zeigt, dass dieser Eindruck täuscht.
  • Neues auf den Heft-DVDs
    Nur mit dem optimalen System und der richtigen Software nutzen Sie das volle Potenzial Ihres Rechners. Mit der Heft-DVD erhalten Sie nicht nur topaktuelle Distributionen, sondern auch die passenden Programme zu den Artikeln.
  • Ubuntu-Derivate veröffentlichen Vorschau auf „Zesty Zapus“
    Die Teams hinter mehreren Ubuntu-Derivaten haben eine frühe Testfassung der kommenden Version 17.04 veröffentlicht. Diese Alpha 2 ist nicht für den produktiven Einsatz gedacht, gibt aber einen ersten Ausblick auf die finale Version.
Kommentare

Infos zur Publikation

LU 11/2017: Server für Daheim

Digitale Ausgabe: Preis € 8,50
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 2 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...