Zum Hauptinhalt Zur Navigation Zur Suche

Server-Technik: Gnome erstellt App-Sandboxes

Für die Gnome-Umgebung sollen Anwendungen künftig in einer Sandbox betrieben werden können. Damit will das Team unter anderem die eigene Entwicklung vereinfachen und nutzt dafür Ideen, die im Serverbereich bereits eingesetzt werden.
/ Sebastian Grüner
16 Kommentare News folgen (öffnet im neuen Fenster)
Gnome treibt seine Vision des Linux-Betriebssystems weiter voran. (Bild: Gnome)
Gnome treibt seine Vision des Linux-Betriebssystems weiter voran. Bild: Gnome

Das Gnome-Team erstellt eine Möglichkeit, Software auch in einer sogenannten Sandbox auszuführen, also größtenteils abgeschlossen vom Rest des Systems. Laut dem Entwickler Matthias Clasen(öffnet im neuen Fenster) ist der Code inzwischen fast so weit fortgeschritten, dass die Technik für erste Tests ausprobiert werden kann.

Von dem Vorgehen erhofft sich das Team, dass es für externe Entwickler einfacher wird, Anwendungen zu erstellen und zu vertreiben, die Gnome-Technik nutzen. Ebenso soll der Einstieg für neue Entwickler in das Projekt vereinfacht werden, und durch die Abschottung der Anwendungen voneinander ließe sich die Sicherheit wohl etwas erhöhen.

Bekannte Konzepte

Das Gnome-Team verfolgt dabei aber nicht den eher traditionellen Ansatz der bisher für Linux umgesetzten Pakete zur Verteilung von Software. Vielmehr erinnert die Beschreibung an bekannte Konzepte aus dem Serverbereich wie Docker, CoreOS, Ubuntu Core oder das Project Atomic, das die gleiche grundlegende Technik, OSTree, einsetzt.

Dem Blogeintrag zufolge soll jede Anwendung auf eine klar definierte Laufzeitumgebung zugreifen können, diese sei vergleichbar mit einem /usr-Dateisystem ohne veränderlichen Inhalt. Auf einem System lassen sich so etwa unterschiedliche Versionen einer Laufzeitumgebung installieren, ebenso wie viele andere darüber hinaus.

Dateien, welche die eigentliche Anwendung benötigt oder auch selbst enthält, werden in dem eigens erstellten Unterverzeichnis /self eingehängt. Für die Ausführung wird ein kleines Hilfswerkzeug genutzt, das die jeweilige Sandbox erstellt und Kernelfunktionen nutzt, um etwa durch Namensräume für die Trennung zu sorgen.

Vorteile für externe Entwickler

Um derartige Anwendungen zu erstellen, wird eine spezielle Laufzeitumgebung zur Verfügung gestellt, die als SDK bezeichnet wird. Deren Konzept ist nahezu identisch mit dem bereits beschriebenen. Hinzu kommen lediglich die für eine Entwicklung notwendigen Bestandteile des Quellcodes.

Clasen hält es zudem für möglich, dass das Verändern von Anwendungen über diesen Weg und vor allem das Verteilen der Neuerungen wesentlich einfacher als bisher geschehen könnte. Statt auf die Paketverantwortlichen der Distributionen zu warten, können Programmierer ihre Software direkt selbst zur Verfügung stellen.

Diese Art der Apps soll sowohl nutzerspezifisch als auch systemübergreifend installierbar sein und parallel zu traditionell erstellten Anwendungen genutzt werden können. Zum Verteilen der Laufzeitumgebungen und der Apps wird OSTree(öffnet im neuen Fenster) verwendet, über das auch RPM-Pakete verteilt werden können, um nichts an der Paketverwaltung vorbei installieren zu müssen.

Einige Beispiele stehen für den Gnome-Entwicklungszweig 3.15 bereit, noch müssen aber viele Details implementiert werden. Zurzeit entsteht eine Möglichkeit, die Sandbox-Apps(öffnet im neuen Fenster) über das GUI-Frontend Gnome Software installieren zu können. Mit dem für Ende März geplanten Gnome 3.16 soll erstmals eine Referenz einer Gnome-Laufzeitumgebung vertrieben werden.

Erst im Spätsommer des vergangenen Jahres hat das Systemd-Projekt eine ähnliche Idee vorgestellt, die außerdem die Copy-on-Write-Möglichkeiten des Dateisystems Btrfs verwendet, um Duplikationen zu vermeiden und damit Speicherplatz einzusparen.


Relevante Themen