ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.

Arkose

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Mit Arkose von Stéphane Graber {en} kann man Programme innerhalb einer Sandbox ausführen. Man kann festlegen, ob eine Anwendung das Netzwerk verwenden darf, wie sie auf das Benutzerverzeichnis zugreifen kann und wie viel Festplattenspeicherplatz sie verwenden kann. Arkose benutzt dabei die gleichen Virtualisierungstechniken des Kernels wie LXC. Durch die Verwendung von aufs sind Änderungen am Dateisystem nur in der Sandbox sichtbar.

Installation

Arkose kann man ab Ubuntu 11.04 aus den Paketquellen installieren [1]:

  • arkose

  • arkose-gui (grafische Oberfläche)

  • arkose-nautilus (Nautilus-Integration)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install arkose arkose-gui arkose-nautilus 

sudo aptitude install arkose arkose-gui arkose-nautilus 

PPA

Es gibt auch ein "Personal Package Archiv" (PPA) [2], allerdings derzeit kein Paket für Precise

Adresszeile zum Hinzufügen des PPAs:

  • ppa:arkose-devel/stable

Hinweis!

Zusätzliche Fremdquellen können das System gefährden.


Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen bietet die Wiki/Vorlagen/PPA/ppa.png PPA-Beschreibung vom Benutzer/Team arkose-devel.

Damit Pakete aus dem PPA genutzt werden können, müssen die Paketquellen neu eingelesen werden.

Nach dem Aktualisieren der Paketquellen können die oben genannten Pakete installiert werden.

Hinweise zum Inhalt des PPA

Die Version 1.3.2 enthält unter anderem folgende Neuerungen:

  • D-Bus wird nach außen weitergeleitet und kann gefiltert werden.

  • Über PulseAudio kann Sound wiedergegeben werden.

  • Videogeräte (z.B. Webcam) können verwendet werden.

  • Es kann ein separater isolierter XServer verwendet werden.

Diese Neuerungen sind aber noch nicht in die herkömmliche graphische Oberfläche integriert und können über den Befehl

arkose-wrapper-gui Konfigurationsdatei 

verwendet werden. Beispiele von Konfigurationsdateien findet man im Verzeichnis /usr/share/arkose/wrapper-profiles.

Programme in einer Sandbox ausführen

Am einfachsten startet man ein Programm in einer Sandbox, indem man in Nautilus das Programm auswählt und im Kontextmenu "Open in a sandbox" wählt. Arkose_Nautilus.png In dem Dialogfenster wählt man die Schaltfläche "Ausführen", um das Programm in der Sandbox zu starten. Run_Arkose.png Anschließend wird man nach dem Benutzerpasswort gefragt, weil zum Erstellen der Sandbox Root-Rechte [3] nötig sind. Man kann Arkose auch direkt starten und das Eingabefeld selbst ausfüllen.

Einstellungen der Sandbox

Beim Programmstart kann man ein paar Einstellungen vornehmen, die Standardeinstellungen sind aber normalerweise ausreichend. Run_Arkose_full.png

Einstellungen
Funktion Beschreibung
Network support Soll die Anwendung kein Zugriff auf das Netzwerk haben, kann man das Häkchen entfernen.
Real /home directory Wird dieser Punkt ausgewählt, bleiben die Änderungen, die das Programm im Benutzerverzeichnis macht, beim Programmende erhalten.
Real /tmp directory Wird dieser Punkt ausgewählt, bleiben die Änderungen, die das Programm in /tmp/ macht, beim Programmende erhalten.
Storage type Wird hier tmpfs gewählt, werden die nur für das Programm sichtbaren Änderungen im Hauptspeicher gehalten, anstatt im Verzeichnis ~/.arkose/ auf der Festplatte.
Container size Der maximale Speicherplatz für die Sandbox.

Einschränkungen

  • Über Nautilus ist es nicht möglich Programme zu starten, die z.B. Leerzeichen oder Umlaute im Dateinamen haben, Programme mit Leerzeichen kann man überhaupt nicht starten.

  • Arkose ist dazu geeignet, ein einzelnes Programm in einer Sandbox auszuführen. Durch die Trennung vom restlichen System hat das Programm dann aber auch keinen Zugriff auf laufende Dienste wie D-Bus, das GNOME-Konfigurationssystem GConf, PolicyKit oder PulseAudio und funktioniert dadurch möglicherweise nur eingeschränkt oder gar nicht. Die Auswirkung kann dann sein, dass keine Töne wiedergegeben werden, Einstellungen nicht beachtet werden oder dass das Programm gar nicht erst startet.

Terminal

Um eine Sandbox im Terminal [4] zu starten, muss der Befehl mit Root-Rechten [3] ausgeführt werden:

sudo arkose [Optionen] 

Optionen
Einstellung Beschreibung
-c, --command Ein Programm ausführen
-h, --home Die Änderungen im Benutzerverzeichnis bleiben erhalten
-n, --network Aktiviert das Netzwerk in der Sandbox
-s, --size Speicherplatz in MB (Standard ist 2 auf ext4 und 50% des RAM auf tmpfs)
-t, --type Speicherart, mögliche Werte sind ext4 (Standard) und tmpfs.
-T, --tmp Die Änderungen in /tmp/ bleiben erhalten.

ubuntuusers.local › WikiArkose