So führen Sie jedes Programm aus jeder Linux-Distribution mit Distrobox aus

Ein Foto von einem Laptop auf einem Tisch.

Distrobox ist ein einfaches CLI-Tool, das jede Linux-Distribution auf Ihrem Computer starten kann. Im Gegensatz zu VirtualBox erstellt Distrobox “Overlays”, die es Ihnen ermöglichen, jedes Programm aus verschiedenen Linux-Distributionen über Ihr aktuelles System auszuführen. Lassen Sie uns hier herausfinden, was Distrobox ausmacht und wie Sie es installieren und verwenden können.

Warum Distrobox verwenden, um mehrere Linux-Distributionen zu verwalten

Das größte Verkaufsargument von Distrobox ist, dass es Gäste über dem Host ausführt, anstatt eine isolierte Instanz zu verwenden. Im Vergleich zu einer traditionellen VM ermöglicht dies Ihnen, nahtlos auf das Home-Verzeichnis Ihres Hosts, seine externen Geräte und sogar seinen Display-Server zuzugreifen.

Ein Screenshot, der Ubuntu zeigt, das zwei verschiedene Distributionen darin ausführt.

Dieses Maß an enger Integration zwischen Gast und Host ermöglicht es Ihnen, eine Handvoll einzigartiger Dinge mit Distrobox zu tun. Zum Beispiel können Sie eine GUI-Anwendung auf einem Ubuntu-Gast installieren und deren Verknüpfung auf den Desktop Ihres Host-Systems exportieren. Als technischer Autor finde ich diese Funktion nützlich, wenn ich verschiedene Apps teste und vergleiche.

Ein Screenshot, der zwei Versionen von Vim zeigt, die auf zwei Distrobox-Instanzen ausgeführt werden.

Zuletzt ist Distrobox auch unglaublich leichtgewichtig. Dies macht es ideal für Systeme mit niedrigerer Leistung, die nicht über die Ressourcen verfügen, um mehrere VMs auszuführen. Nach meiner Erfahrung verbrauchten die Ausführung von Ubuntu- und Fedora-Gästen über etwa sechs Stunden nur etwa 900 MB des gesamten RAMs meines Hosts.

Distrobox installieren und testen

Im Kern funktioniert Distrobox, indem es die Vorteile von Container-Daemons wie Docker und Podman nutzt, um seine Distributionen zu verwalten. Daher besteht der erste Schritt zur Bereitstellung von Distrobox darin, Docker auf Ihrem Computer zu installieren.

Bestätigen Sie, dass der Docker-Daemon auf Ihrem System läuft, indem Sie seine Version überprüfen:

docker--version

Fügen Sie Ihren aktuellen Benutzer zur Docker-Systemgruppe hinzu:

sudo adduser $USER docker

Laden Sie Distrobox mit dem Paketmanager Ihres Systems herunter und installieren Sie es:

sudo apt install distrobox

Stellen Sie sicher, dass Sie Distrobox ordnungsgemäß installiert haben, indem Sie es mit dem -h-Flag ausführen.

Ein Terminal, das den Distrobox-Hilfebildschirm zeigt.

Ihre erste Overlay-Distribution bereitstellen

Mit Distrobox, das läuft, können Sie jetzt Ihre erste Linux-Distribution-Overlay installieren. Dazu stellen die Entwickler ein Fedora 39 OCI-Image als Standardinstallationsmedium zur Verfügung.

Beginnen Sie, indem Sie Distrobox mit dem create-Unterbefehl ausführen, gefolgt vom Namen und dem Hostnamen, den Sie für Ihr neues Overlay wünschen:

distrobox create --name IHR-OVERLAY-NAME-HIER --hostname IHR-CONTAINER-NAME-HIER

Geben Sie “y” ein und drücken Sie die Eingabetaste, um Ihre neue Overlay-Distribution herunterzuladen und bereitzustellen.

Ein Terminal, das die Bestätigungsaufforderung zum Erstellen einer neuen Distrobox-Instanz zeigt.

Hinweis: Je nach Hardware Ihres Systems kann es zwischen 5 und 10 Minuten dauern, um das Gastbetriebssystem in Distrobox vollständig zu installieren.

Sobald dies erledigt ist, führen Sie den folgenden Befehl aus, um Ihre neue Overlay-Distribution zu starten und zu laden:

distrobox enter IHR-OVERLAY-NAME-HIER

Bestätigen Sie, dass Sie sich jetzt im Overlay-System befinden, indem Sie den Hostnamen in Ihrer Terminalaufforderung überprüfen.

Um eine Overlay-Sitzung zu schließen, drücken Sie Ctrl + D im Gastterminal und führen Sie dann distrobox stop gefolgt vom Namen Ihres Overlays aus.

Nebenbei bemerkt: Erkunden Sie die Möglichkeiten von Fedora und Red Hat Enterprise Linux, indem Sie unseren umfassenden Leitfaden zum DNF-Paketmanager ansehen.

Ausführen eines benutzerdefinierten Linux-Images auf Distrobox

Neben Fedora 39 ist es möglich, andere OCI-kompatible Linux-Distributionen innerhalb von Distrobox auszuführen, zum Beispiel Arch Linux.

Um eine benutzerdefinierte Linux-Distribution zu installieren, führen Sie den create-Unterbefehl mit dem -i-Flag gefolgt von einem Link zu einem OCI-kompatiblen Image aus. In meinem Fall werde ich das Arch Linux Toolbx-Image von Quay.io als Basis für mein Overlay verwenden:

distrobox create --name arch-linux --hostname mte-archlinux-container --image quay.io/toolbx/arch-toolbox:latest

Ein Terminal, das den Prozess des Erstellens eines Arch Linux Docker-Containers zeigt.

Hinweis: Sie finden eine Liste kompatibler Distributionen und deren Download-Links auf der Github-Seite des Entwicklers.

Nachdem es abgeschlossen ist, starten Sie das Overlay und gehen Sie in Ihr neues Arch Linux-System:

distrobox enter arch-linux

Bestätigen Sie wie bei Fedora, dass Sie jetzt Arch Linux ausführen, indem Sie den Hostnamen Ihres Terminals überprüfen.

Ein Terminal, das den Prozess des Eingehens in eine neu gestartete Distrobox-Instanz zeigt.

Pakete auf Distrobox installieren und ausführen

Einer der Vorteile der engen Integration von Distrobox ist, dass Gastbetriebssysteme sich so verhalten, als wären sie nativ auf dem Host-Rechner. Daher ist die Installation und Ausführung eines Programms in Distrobox ähnlich wie bei einer regulären Linux-Installation.

Um ein Paket auf einem Distrobox-Gast zu installieren, stellen Sie zuerst sicher, dass Sie sich derzeit in Ihrer Overlay-Distribution befinden:

distrobox enter arch-linux

Hinweis: Sie können die verfügbaren Overlays auf Ihrem System auflisten, indem Sie distrobox ls ausführen.

Verwenden Sie den Paketmanager Ihrer Gast-Distribution, um das benötigte Programm zu installieren. In diesem Fall werde ich sudo pacman -S neofetch ausführen, um neofetch auf meinem Arch Linux-Gastbetriebssystem zu installieren.

Ein Terminal, das den Pacman-Paketmanager zeigt, der innerhalb einer Distrobox-Instanz ausgeführt wird.

Testen Sie Ihr neues Paket, indem Sie es einmal innerhalb des Overlays und ein weiteres Mal außerhalb davon ausführen.

Ein Terminal, das die Programmisolierung zwischen der Arch Linux Distrobox und dem Ubuntu-Host-System zeigt.

Sie können auch ein Programm von außerhalb des Distrobox-Overlays installieren. Verwenden Sie dazu den enter-Unterbefehl gefolgt vom ---Operator:

distrobox enter --name arch-linux --sudo pacman -s neofetch

Diese Funktion erstreckt sich auch auf das Ausführen von Programmen außerhalb Ihres Gastsystems. Zum Beispiel wird der folgende Befehl neofetch auf meinem Arch Linux-Gast ausführen und dessen Ausgabe in meinem Ubuntu-Hostsystem anzeigen:

distrobox enter --name arch-linux -- neofetch

Ein Terminal, das das neofetch-Programm innerhalb der Arch Linux-Instanz zeigt, die auf dem Ubuntu-Host ausgeführt wird.

Gut zu wissen: Verwenden Sie einen anderen Paketmanager? Schauen Sie sich unser praktisches Cheat-Sheet für Paketmanager für verschiedene Linux-Distributionen an.

Ein Overlay-Programm auf das Host-System exportieren

Während der ---Operator großartig für einfache einmalige Aufgaben ist, ist es auch möglich, Distrobox “Profile” zu erstellen, die es Ihnen ermöglichen, beliebige Gastprogramme direkt von Ihrem Host-Linux-Rechner auszuführen. Dies ist hilfreich, wenn Sie ständigen Zugriff auf ein Programm innerhalb Ihres Distrobox-Gastbetriebssystems haben möchten.

Um auf Ihren Host-Rechner zu exportieren, gehen Sie zuerst in das System, in dem Sie Ihr Programm installiert haben:

distrobox enter arch-linux

Stellen Sie sicher, dass Ihre Anwendung von innerhalb des Containers ordnungsgemäß funktioniert. In meinem Fall möchte ich meine Emacs-Installation innerhalb von Arch Linux exportieren.

Ein Screenshot, der den Emacs GUI-Client zeigt, der innerhalb der Arch Linux Distrobox-Instanz ausgeführt wird.

Führen Sie distrobox-export mit dem --app-Flag gefolgt vom Namen des Programms aus, das Sie exportieren möchten:

distrobox-export --app emacs

Testen Sie Ihre neu exportierte App, indem Sie zum Anwendungsstarter Ihres Host-Systems gehen und auf das Programmsymbol klicken.

Ein Screenshot, der den Anwendungsstarter von Ubuntu zeigt, der den Emacs GUI-Client zeigt.

Das Installieren und Ausführen von Gast-OS mit Distrobox ist nur ein Beispiel dafür, was Sie mit Docker und Container-Technologie tun können. Tauchen Sie tief ein, wie dieses Programm funktioniert, indem Sie unseren Leitfaden zum Ausführen und Verwalten von Docker-Containern überprüfen.

Bildnachweis: Kari Shea über Unsplash. Alle Änderungen und Screenshots von Ramces Red.