Distrobox – jede Distro jederzeit

Heute haben wir uns Distrobox angeschaut. Dabei handelt sich um ein recht junges Projekt, das mittels Docker oder Podman Container beliebiger Linux-Distros erstellt und in den Host und dessen Desktop integriert.

Distrobox mountet automatisch das Home-Verzeichnis des Hosts in den Containern und macht auch externe Speicher und angeschlossene USB-Geräte in den Container verfügbar. Außerdem kann man Dienste und grafische sowie textbasierte Anwendungen der Container dem Host zu Verfügung stellen.

Möchte man zum Beispiel die Anwendung QtQr in Fedora nutzen (wo sie nicht in den offiziellen Repositories zur Verfügung steht), so kann man einen Ubuntu Container erstellen und die Anwendung als Anwendungsstarter (.desktop) dem Fedora Host zur Verfügung stellen.

distrobox create --image ubuntu:focal ubuntu20.04 # Container erstellen auf dem Host erstellen
distrobox-export --app qtqr # App im Container (!) an den Host exportieren
Terminals für Alpine, Debian, Ubuntu und Anwendungen (Abiword, QtQr, …) aus den Containern im Menü des Hosts

Virtuelle Maschinen verwalten mit Vagrant

Sascha hat heute eine kurze Einführung in Vagrant gegeben. Das Tool kann virtuelle Maschinen verwalten — erstellen, starten, stoppen, löschen, etc.

Im Vortrag wurde LibVirt als Virtualisierungssoftware verwendet. Unterstützt werden aber auch viele andere wie VirtualBox, OpenStack, AWS und viele mehr. Eine nette GUI für LibVirt ist Virt-Manager. Installieren lässt sich unter Debian/Ubuntu alles mit apt install virt-manager vagrant. Danach muss Vagrant noch wissen, dass es libVirt verwenden soll, was folgener Aufruf erledigt:

export VAGRANT_DEFAULT_PROVIDER=libvirt

Eine virtuelle Maschine legt man an, indem man ein neues Verzeichnis erstellt (z.B. mit mkdir DebianBuster) und dann darin vagrant init aufruft. Es wird eine Datei Vagrantfile angelegt, die anzupassen ist. Unter https://app.vagrantup.com/boxes/search existieren bereits viele Vorlagen, aus denen man wählen kann. Wenn man als Provider libvirt auswähle und nach Buster sucht, findet man z.B. generic/debian10. Diesen Wert trägt man in dem Vagrantfile unter config.vm.box ein. Wenn man jetzt speichert und vagrant up aufruft, wird das Template von der Webseite heruntergeladen und eine neue virtuelle Maschine angelegt (ziehe Bild).

Virtuelle Maschine in VirtManager

Gültige Logindaten für die VM sind benutzername und Passwort vagrant. Man kann sich auch per ssh verbinden mit dem Kommando vagrant ssh. Anhalten lässt sich die VM mit vagrant halt und wieder löschen mit vagrant destroy.