2130118

So nutzen Sie Ubuntu Snappy Core - das neue Paketformat

25.11.2015 | 10:32 Uhr |

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 Top-20 der Linux-Distributionen

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 Libre Office 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

+ beliebige Bibliotheken in Apps

+ Versionsverwaltung und Wiederherstellungspunkte

+ Trennung von Kernsystem und Anwendungen

- größerer Platzbedarf durch redundante Dateien

- keine konsistenten Bibliotheken über das gesamte System

- erst wenige Snappy-Apps verfügbar (Stand August 2015)

Snappy Personal soll bei Ubuntu langfristig Debians Paketformat ersetzen

Die Anatomie von Snappy

Ü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.

Alle Arbeiten werden auf Kommandozeile erledigt.
Vergrößern Alle Arbeiten werden auf Kommandozeile erledigt.

Ubuntu Snappy Core ausprobieren

Das klingt nach einer verheißungsvollen Alternative zum komplizierten Docker und zur Paketverwaltung unter DEB. Allerdings gibt es noch nicht viel Software für Snappy, da sich Ubuntu Snappy Core in der Experimentierphase befindet. Canonical verweist darauf, dass Ubuntu Snappy Core derzeit ein minimales Linux-System für Docker auf Cloud-Instanzen ist. Die wenigen Snappy-Apps sind noch kein Ersatz für Docker, und jenseits vom Server-Einsatz ist Ubuntu Core Snappy als Vorzeigesystem noch nicht verwendbar. Auch ohne Server in der Cloud gibt es Ubuntu Snappy Core in der Version 15.04 zu testen, in einer virtuellen Maschine auf dem eigenen Linux-PC:

Laden Sie die von Canonical vorbereitete Image-Datei von Ubuntu Snappy Core für 64-Bit-CPUs herunter (138 MB), und entpacken Sie das Archiv:

unxz ubuntu-15.04-snappy-amd64-generic.img.xz

Das Archiv verwandelt sich in eine 3,6 GB große IMG-Datei. Diese Image-Datei ist für die Virtualisierer KVM/Qemu und Virtualbox geeignet. Falls Sie Virtualbox verwenden, konvertieren Sie die Datei zunächst mit

VBoxManage convertfromraw ubuntu-15.04-snappy-amd64-generic.img ubuntu-15.04-snappy-amd64-generic.vdi --format vdi

in eine VDI-Datei, die Sie dann als virtuelle Festplatte in Virtualbox in einer neu angelegten Maschine verwenden. Mit KVM/Qemu ist der Weg kürzer, da die Konvertierung der IMG-Datei entfällt. In einem Ubuntu installieren Sie Qemu mit dem Befehl

sudo apt install qemu-kvm

und starten dann eine KVM-Instanz mit dem Image:

kvm -m 512 -redir :8090::80 -redir :8022::22 ubuntu-15.04-snappy-amd64-generic.img

Dateisystem-Schema von Ubuntu Snappy Core

Partition

Standardgröße in MB

Im Betrieb beschreibbar

Beschreibung

system-boot

64

ja

Bootumgebung und Bootloader

system-a

1024

nein

primäres root-Dateisystem

system-b

1024

nein

zweites root-Dateisystem als Wiederherstellungspunkt

writable

gesamter Rest des verfügbaren Platz

ja

Snappy-Apps und alle Benutzerdaten

Qemu zeigt die virtuelle Maschine in einem separaten Fenster an, das Sie mit Strg-Alt-G auch wieder verlassen. Der voreingestellte Benutzername und das Passwort für Ubuntu Snappy Core lauten jeweils „ubuntu“. Es handelt sich um ein minimales Server-System ohne grafische Oberfläche. Eine (englischsprachige) Einführung zum Kommandozeilen-Tool snappy liefert die Dokumentation unter https://developer.ubuntu.com/en/snappy/tutorials/using-snappy .

0 Kommentare zu diesem Artikel
2130118