Ubuntu: Snappy Apps sollen Debian-Pakete ersetzen

Mit "Snappy Personal" soll schon die nächste Ubuntu-Version 15.10 in einer Desktop-Variante angeboten werden, die anstelle der traditionellen Debian-Pakete die neuen Snappy Apps verwendet.

In Pocket speichern vorlesen Druckansicht 490 Kommentare lesen
Ubnuntu: Snappy Apps sollen Debian-Pakete ersetzen
Lesezeit: 4 Min.
Von
  • Dr. Oliver Diedrich
Inhaltsverzeichnis

Mit den Snappy Apps hat Canonical ein neues Paketformat für Ubuntu erfunden. Snappy Apps enthalten in einem Archiv alle Binaries, Bibliotheken, Konfigurations- und sonstigen Dateien, die über einen minimalen Satz an Systemfunktionen und -bibliotheken hinausgehen. Sie lassen sich wie gewohnt mit einem Befehl übers Netz installieren, aktualisieren und deinstallieren, sollen jedoch einige Vorteile gegenüber klassischen Debian-Paketen bieten.

Traditionell fasst Linux die Binaries, Bibliotheken und sonstigen Dateien aus allen Programmpaketen in wenigen Verzeichnissen zusammen (/bin und /usr/bin für Binaries, /lib und /usr/lib für Bibliotheken, /etc für Konfigruationsdateien und so weiter. Snappy Apps installieren hingegen alles, was zu einem Paket gehört, in einem eigenen Unterverzeichnis. Damit entfallen weitgehend die vielfältigen Abhängigkeiten, wie sie zwischen Debian-Paketen bestehen.

Zudem lassen sich Snappy Apps atomar updaten: Bei einem Update wird die neue Version in ein neues Verzeichnis installiert, es werden keine Dateien überschrieben. Die alte Version bleibt inklusive aller Daten und Konfigurationen komplett erhalten, sodass ein Rollback auf die alte Version möglich ist.

Canonical verspricht einen weiteren Vorteil von Snappy Apps: Für Upstream-Entwickler soll es wesentlich einfacher werden, neuere Versionen ihrer Software für Ubuntu anzubieten. Bislang müssen Entwickler dafür ein Personal Package Archive einrichten und darin ihre Software sowie die benötigten Abhängigkeiten als Debian-Pakete vorhalten.

Erfordert das Update einer Anwendung die Aktualisierung von systemweit genutzten Bibliotheken, kann das zu Problemen mit bei anderen Programmen führen. Bieten mehrere PPAs unterschiedliche Versionen der gleichen Bibliothek an, kann es zu Abhängigkeitskonflikten kommen, die schwierig aufzulösen sind.

In einer Snappy App kann der Entwickler hingegen alle Bibliotheken in der benötigten Version beilegen. Anwender, die die neuere Version nutzen wollen, können einfach die neuere Snappy App installieren, ohne Auswirkungen auf andere Programme befürchten zu müssen – so zumindest die Theorie. Wenn es Probleme mit der neuen Version gibt, kann man jederzeit zu der originalen Version zurückkehren, die die Distribution mitgeliefert hat.

Damit könnte Ubuntu zu einer Art Rolling-Release-Distribution werden, in der der Anwender Software jederzeit problemlos aktualisieren kann, ohne auf ein System-Update warten zu müssen. Da Snappy Apps ein grundlegend anderes Dateisystem-Layout mit einer sehr klaren Trennung zwischen dem Basis-System und den installierten Anwendungen implementieren, wird zudem auch ein Rollback von System-Updates möglich.

Derzeit verwendet Canonical Snappy Apps lediglich in Snappy Core, einer abgespeckten Ubuntu-Variante für den Einsatz in Clouds und auf Geräten des Internet of Things. Mit der kommenden Ubuntu-Version 15.10 soll das experimentelle Ubuntu Next, das einen Eindruck der nächsten Ubuntu-Generation mit dem Display-Server Mir und dem Unity-Desktop 8 gibt, ebenfalls auf Snappy Apps umstellen.Will Cook, bei Canonical für den Desktop verantwortlich, nennt das in einem ersten Posting auf Google+ "Snappy Personal".

Ubuntu 15.10 wird jedoch noch traditionelle Debian-Pakete enthalten. Auch nach dem offiziellen Umstieg auf Mir und Unity 8, der für die nächste LTS-Version 16.04 geplant ist, wird Ubuntu weiterhin aus Debian-Paketen gebaut werden. Nach derzeitiger Planung wird Canonical Ubuntu 16.04 in zwei Varianten anbieten: mit Debian-Paketen und mit Snappy Apps. Anwender hätten dann die Wahl, ob sie bei den bewährten Debian-Paketen bleiben oder den Schritt in die Snappy-Apps-Zukunft mitgehen. (odi)