Canonical will das Debian-Paketformat hinter sich lassen und nimmt mit Snappy Personal einen neuen Anlauf.
Linux-Systeme bringen im Gegensatz zu Windows bereits eine große Anzahl an Paketen mit. Zum Paketmanagement gehören ein Format für die Software-Archive sowie ein Programm samt Frontend zum Verwalten dieser Archive.
Canonical setzt für Ubuntu bisher das von Debian verwendete DEB-Format [1] sowie den Paketmanager DPKG [2] ein und nutzt Apt [3] als Kommandozeilen-Frontend. Zudem bietet es verschiedene Werkzeuge mit einer grafischen Oberfläche an, die Aufgaben wie Installation, Deinstallation und das Verwalten von Paketen für den Nutzer einfach gestalten.
Diese Grundlagen ändern sich unter Umständen künftig radikal, da Canonical als Weiterentwicklung des für Ubuntu Touch entworfenen Click-Formats [4] das hauseigene Paketformat Snappy Personal erstellt (Abbildung 1).

Abbildung 1: Die Debian-Paketverwaltung basiert auf einer Datenbank, die die wesentlichen Aspekte der bereitstehenden Software verwaltet.
Von Nix bis CoreOS
Snappy entstammt der Entwicklung von Ubuntu Touch, dem Ubuntu-System für mobile Geräte, sowie den Ideen hinter Snappy Core. Debians Paketformat ist für Canonicals künftiges Szenario zu komplex. So entschied Firmengründer Mark Shuttleworth, dass für die Apps der mobilen Plattform ein einfacheres Format vonnöten sei, um die Entwicklung zu beschleunigen und den für den Erfolg von Ubuntu Touch unabdingbaren Ubuntu App-Store zu befüllen.
Erstmals tauchte das neue Paketformat zu Jahresbeginn bei Snappy Ubuntu Core [5] auf, Canonicals Plattform für das Internet der Dinge. Das war für Desktop-Anwender zwar zunächst einmal irrelevant, beinhaltet aber mit der Idee der atomaren Updates eine interessante Eigenschaft, die Snappy Personal ebenfalls bietet. Canonical nennt das Konzept “transactional updates”. Dabei liefert der Server die Differenz zwischen zwei Dateien beim Aktualisieren als Delta-File [6] aus (Abbildung 2). Bei Fehlern besteht die Möglichkeit, die Änderungen wieder zurückzunehmen.
Diese Ideen sind zwar nicht neu, setzen sich aber im Zug des zunehmenden Einsatzes von Containern etwa bei CoreOS und Red Hats Atomic jetzt langsam durch. Ähnliche Gedankengänge verfolgte Systemd-Entwickler Lennart Poettering in einem Essay zur künftigen Gestaltung von Distributionen [7].

Abbildung 2: Die Grundidee von Snappy: Delta-Dateien ermöglichen, Updates sehr schlank zu gestalten und jeden Vorgang bei Bedarf zurückzunehmen.
Alles für die Konvergenz
Canonical hat in den letzten zwei Jahren fast jegliche Arbeit an den Zielen von Ubuntu Touch ausgerichtet. Dazu zählt in erster Linie der Gedanke der Konvergenz: Der gleiche Software-Stack kommt bei allen Geräten zum Einsatz, vom Internet of the Things über Smartphones und Tablets bis hin zu Notebooks und Workstations.
Ein an eine mit Eingabegeräten versehene Docking-Station angeschlossenes Smartphone könnte somit zum vollwertigen PC mutieren, so der durchaus bestechende Gedanke. Da war es nur konsequent, als Canonical im Juni verkündete, das neue Paketformat als Snappy Personal bei Ubuntu für den Desktop einsetzen zu wollen.
Der derzeitige Plan sieht vor, dass die Entwickler noch vor Ubuntu 15.10 im Rahmen von Ubuntu-Next, der Plattform zum Testen von Mir und Unity 8, ein Abbild veröffentlichen, das ausschließlich Snappy Personal zum Verwalten der Pakete nutzt. Das Umsetzen dieser Vorgaben für das gesamte Projekt nimmt viel Zeit in Anspruch, denn – so die Ahnung der Beteiligten – auf dem Weg dahin warten noch viele Probleme.
Zu den ersten Meilensteinen gehört, dass Unity 8 und der hauseigene Display-Manager Mir Einzug in die Desktop-Variante halten, was sich vermutlich erst mit Ubuntu 16.10 vollzieht. Anwender müssen sich vorerst aber keine Sorgen machen: Die Debian-Basis bleibt selbst nach dem Umstellen noch eine Weile erhalten. Das ist auch für Distributionen wie Linux Mint und andere wichtig, die auf Ubuntu aufbauen. Erste Schritte in die Praxis macht Snappy bereits mit der Drohne Erle-Copter Ubuntu Special Edition [8] des spanischen Unternehmens Erle Robotics (Abbildung 3).
Unterschiede
Neben der bereits erwähnten Funktion der “transactional updates” besticht vor allem die angestrebte Sicherheit. Im Gegensatz zu anderen Formaten brauchen bei Snappy Personal keine Skripte der Betreuer einer Software mit Root-Rechten zu laufen.
Zusätzliche Sicherheit versprechen sich die Entwickler durch die Integration ins Software Center, das mit AppArmor einen Mechanismus zum Absichern bietet. Zudem sind die Pakete gegeneinander isoliert. Snappy-Pakete weisen einen wesentlich einfacheren Aufbau auf als Pakete anderer Distributionen, da sie keine externen Abhängigkeiten definieren: Ein Snappy-Paket bringt alle benötigten Abhängigkeiten und Bibliotheken mit.
Zwiespältige Entwicklung
Das hat allerdings nicht nur Vorteile: Durch die mitgeführten Abhängigkeiten steigt der Platzbedarf in den Archiven und auf den Festplatten der Anwender. Ob sich das möglicherweise per Deduplikation abfedern lässt, ist derzeit noch unklar.
Auf der einen Seite bedeutet Snappy quasi die Rückkehr statisch gelinkter Programme und negiert somit 30 Jahre Software-Entwicklung hin zu dynamisch gelinkten Bibliotheken. Auf der anderen Seite ist es kein Problem, verschiedene Versionen der gleichen Software nebeneinander zu betreiben. Das erfordert bei anderen Systemen teils aufwendige Klimmzüge.
Zudem laufen Snappy-Pakete auf jedem Rechner, unabhängig vom Stand der restlichen Software. Snappy-Apps brauchen außerdem weniger Zeit, um vom Entwickler zum Anwender zu gelangen. Wegen ihres übersichtlichen Aufbaus kann man sie in wenigen Minuten automatisch überprüfen und in einer Art Rolling Release jederzeit zum Bestand der Distribution hinzufügen.
Fazit
Canonical hat in den letzten Jahren mit Unity, Mir und Upstart bereits einige Alleingänge gestartet. Keiner davon bricht aber so drastisch mit Debian wie das Verlassen der gemeinsamen Paketbasis. Allerdings ist es allgemein bekannt, dass herkömmliche Systeme zum Verwalten von Software, so gut sie für den Anwender funktionieren, für Entwickler einige Probleme aufwerfen.
Sogar Linus Torvalds beschwerte sich schon darüber, der Aufwand, Pakete für verschiedene Systeme anzubieten, sei für Entwickler viel zu hoch und eines der großen Hindernisse für den Erfolg von Linux auf dem Desktop. Hier bietet ein neues Format wie Snappy Personal möglicherweise neue Chancen, sobald es einmal ausgereift ist.
Es gehen allerdings sicher noch Jahre ins Land, bis die Migration bei Ubuntu vollzogen ist. Selbst dann bleibt immer noch die Frage offen, ob andere Distributionen sich die Entwicklung zu eigen machen.
Infos
[1] Debian-Pakete: https://de.wikipedia.org/wiki/Debian-Paket
[2] DPKG: https://de.wikipedia.org/wiki/Debian_Package_Manager
[3] Apt: https://de.wikipedia.org/wiki/Advanced_Packaging_Tool
[4] Click: http://beuno.com.ar/archives/334
[5] Snappy Ubuntu Core: https://developer.ubuntu.com/en/snappy/
[6] Delta-Dateien: https://de.wikipedia.org/wiki/Delta-Kodierung
[7] Poetterings Essay: http://0pointer.net/blog/revisiting-how-we-put-together-linux-systems.html
[8] Erle-Copter: http://erlerobotics.com/blog/erle-robotics-launches-ubuntu-snappy-core-drone/






