Login
Newsletter
Werbung

Mi, 30. Dezember 2015, 15:00

Das neue Paketformat Snappy in Ubuntu

Die Installation von Programmen und deren Bibliotheken soll einfacher werden. Canonical experimentiert in Ubuntu Core mit dem neuen Paketformat »Snappy«, dessen Aufbau an Apps für Smartphones erinnert.

So unterschiedliche Personen wie Linus Torvalds und Canonicals Gründer Mark Shuttleworth sind sich einig, dass Installation, Erstellung und Pflege von Software-Paketen auf Linux einfacher werden muss. Schließlich machen die erfolgreichsten Linux-basierten Systeme – Android und Chrome-OS – längst vor, was einfach ist: Eine Konfektionierung von Software als Apps, die unter einer klar definierten Runtime laufen, sowie die strikte Trennung von Kernsystem und benutzerinstallierten Apps.

Linux, wir haben ein Problem!

Linux-Distributionen räumen der Effizienz und Konsistenz einen weit höheren Stellenwert ein als der Benutzerfreundlichkeit für Anwender oder Freiheiten für Entwickler. Denn Bibliotheken und Programme gehen durch Abhängigkeiten eine enge Wechselbeziehung ein.

Die Paketrichtlinien aller namhaften Linux-Distributionen schreiben vor, dass ein Programm die vorhandenen Bibliotheken nutzen muss und nicht einfach eigene, neuere oder auch ältere Versionen der gleichen Bibliothek mitbringen darf, um in die offiziellen Paketquellen zu kommen. Die Pflege von Paketen ist deshalb für die Macher einer Distribution mit hohem Aufwand verbunden und für Anwender mit Enttäuschungen, wenn es neuere Software-Versionen in den offiziellen Paketquellen nicht gibt. Natürlich, man kann selbst kompilieren und die Programme samt Bibliotheken im Home-Verzeichnis oder unter »/opt« ablegen. Bei größeren Programmgruppen wie LibreOffice oder Apache gehen aber bei der manuellen Auflösung aller Abhängigkeiten wertvolle Stunden dahin, selbst mit dem nötigen Know-how.

Die Container kommen

Kaum eine andere Open-Source-Entwicklung hat die Linux-Szene in den letzten Monaten so aufgemischt wie Container-Technologie. Statt als natives Programmpaket läuft die Software im abgeschlossenen Behälter mit allen Bestandteilen und innerhalb einer Runtime. Die bekannteste Runtime, die die Unterstützung von Red Hat wie Microsoft genießt, ist Docker. Docker setzt auf den Fähigkeiten des Linux-Kernels auf und bündelt ganze Server-Umgebungen innerhalb eines systemunabhängigen Containers, inklusive Bibliotheken und Programmversionen, die von anderen Containern und dem Kernsystem per Sandbox getrennt sind. Canonical hat die Idee von Containern aufgegriffen. Aber wäre das Konzept nicht auch eine Alternative für das herkömmliche Paketformat, wenn Linux-Anwendungen als Container-Apps vorlägen? Canonical experimentiert deshalb mit dem neuen Paketformat »Snappy«, das mehr an Apps für Smartphones erinnert als an Debian-Pakete.

Snappy-Apps: Pro und Contra

Pro

  • Beliebige Bibliotheken in Apps
  • Versionsverwaltung und Wiederherstellungspunkte
  • Trennung von Kernsystem und Anwendungen

Contra

  • Größerer Platzbedarf durch redundante Dateien
  • Keine konsistenten Bibliotheken über das gesamte System
  • Erst wenige Snappy-Apps verfügbar (Stand November 2015)

Die Anatomie von Snappy

Ein übliches Ubuntu kann mit Snappy-Paketen nichts anfangen. Stattdessen geht deren Entwicklung auf dem für Cloud-Instanzen optimierten Minisystem »Ubuntu Snappy Core« voran. An Stelle der DEB-Pakete treten hier »Snappy Apps«, die als Container eigene Bibliotheksversionen mitbringen und in jeweils eigenen Verzeichnissen ablegen. Abhängigkeiten zu anderen Apps gibt es nicht. Zudem ist bereits die Versionsverwaltung eingebaut: Veränderte Konfigurationsdateien gehen in die App-Verzeichnisse, die eine Versionsnummer tragen. Gibt es Probleme mit einer neuen App-Version, können Anwender auf einen früheren Stand zurückkehren.

Das Kernsystem ist von Snappy-Apps strikt getrennt: Kernel und Kernbibliotheken wie die Snappy Runtime liegen auf einer eigenen Partition (root-Dateisystem), die während des normalen Betriebs als nur-lesbar eingehängt ist. Um auch hier die Rückkehr auf einen früheren Stand nach einem getrennt vorgenommenen System-Update zu ermöglichen, sind zwei dieser root-Dateisysteme vorhanden, wobei eines der Wiederherstellungspunkt für das Basissystem ist.

Snappy-Pakete sind keine Image-Dateien wie bei Docker, sondern Tar-Dateien, die über den neuen App-Manager »snappy« installiert, aktualisiert, zurückgerollt oder entfernt werden. Der App-Manager lagert die entpackten Programmverzeichnisse in eine eigene beschreibbare Partition, auf welcher auch die Benutzerdateien liegen.

Kommentare (Insgesamt: 23 || Alle anzeigen )
Beispiel Android (Mueller, Mo, 4. Januar 2016)
Re: Frage (schmidicom, Mo, 4. Januar 2016)
Unsinn find ich (CptDark, Mo, 4. Januar 2016)
Re[2]: Frage (Ralph B., Do, 31. Dezember 2015)
Re[3]: Snappyspielerei (tvn, Do, 31. Dezember 2015)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung