Mark Shuttleworth hat in seinem Blog einige Gedanken zur Entstehung von Ubuntu Core skizziert. Die Idee sei im Verlauf der
Entwicklungsarbeiten bei Ubuntu Phone entstanden, weil Mobilgeräte angesichts des dort stark verbreiteten Malware-Problems ein anderes Sicherheitsmodell erforderten, als PCs . So müssten Apps stark voneinander abgeschottet werden, um das Übergreifen von Schadcode zu verhindern und sichere Updates zu ermöglichen.
Ubuntu Core ist ab sofort als Betaversion für Microsofts Azure-Plattform verfügbar lässt sich aber auch mit Hilfe eines KVM-Images lokal testen.
Was ist Ubuntu Core?
Ubuntu ist eine Art neuer Host für Docker und andere Container-Dienste, von denen das System laut Shuttleworth gelernt hat und daher profitiert. Konkret handelt es sich um ein kleines Server-Image für Cloud-Umgebungen. Ubuntu Core kennt im Gegensatz einem gewöhnlichen Ubuntu-Abbild keine Deb-Pakete und keinen apt-Paketmanager. Ubuntu-Core aktualisiert die Kernschicht und die Applikationen dagegen, ähnlich wie Red Hats Atomics Host oder CoreOS mit einem Tool namens Snappy. Auch Snappy ermöglicht „atomic updates“, bei Ubuntu Core „transactional updates“ genannt. Da auch hier das gesamte Update als Image gehandhabt wird, lässt es sich bei Problemen jederzeit einfach wieder zurück rollen.
Mehr als Docker und CoreOS
Canonical hat das Prinzip in Ubuntu Core laut eigener Aussage noch erweitert. Snappy hält dazu offenbar sowohl das Grundsystem als auch jede einzelne Applikation als nur lesbaren Dateien vor. So können Entwickler Deb-Pakete verwenden und daraus Snappy-Apps entwickeln, die streng voneinander isoliert sind. Sämtliche aktuellen für Ubuntu reparierte Pakete, fliessen unmittelbar auch in Ubuntu Core ein und werden transactional aktualisiert. Ubuntu Core verwendet dabei ein Verfahren, dass einem Delta-Update gleicht. Dabei werden nur die Änderungen aktualisiert, nicht aber das ganze Paket ersetzt. Nutzer können sich ihr Ubuntu Core somit selbst zusammenstellen, was die verwendeten Apps betrifft, laut Canonicaal ein Vorteil gegenüber Docker, CoreOs, Docker oder Red Hat Atomic. Zudem lassen sich Snappy-Apps einfacher erstellen als Deb-Pakete. Dabei kann der Entwickler jeweils exakt festlegen, welche Bibliotheken er zum Beispiel in welcher Zusammenstellung nutzen möchte. Eine Snappy-App beinhaltet genau wie ein Docker-Image sämtliche Abhängigkeiten einer Anwendung oder eines Frameworks.