Importieren einer beliebigen Linux-Distribution zur Verwendung mit WSL
Sie können jede Linux-Distribution innerhalb des Windows-Subsystems für Linux (WSL) verwenden, auch wenn sie nicht im Microsoft Store verfügbar ist, indem Sie sie mit einer TAR-Datei importieren.
In diesem Artikel wird gezeigt, wie Sie die Linux-Distribution CentOS zur Verwendung mit WSL importieren, indem Sie die zugehörige TAR-Datei mithilfe eines Docker-Containers abrufen. Dieser Prozess kann angewendet werden, um eine beliebige Linux-Distribution zu importieren.
Abrufen einer TAR-Datei für die Distribution
Zuerst müssen Sie eine TAR-Datei abrufen, die alle Linux-Binärdateien für die Distribution enthält.
Sie können eine TAR-Datei auf verschiedene Arten abrufen, u. a. über die folgenden beiden:
- Laden Sie eine bereitgestellte TAR-Datei herunter. Ein Beispiel für Alpine finden Sie im Abschnitt „Mini Root Filesystem“ der Website mit Alpine Linux-Downloads.
- Suchen Sie einen Linux-Distributionscontainer, und exportieren Sie eine Instanz als TAR-Datei. Im folgenden Beispiel wird dieser Prozess mithilfe des CentOS-Containers veranschaulicht.
Beispiel zum Abrufen einer TAR-Datei für CentOS
In diesem Beispiel verwenden wir Docker innerhalb einer WSL-Distribution, um die TAR-Datei für CentOS abzurufen.
Voraussetzungen
- Sie müssen WSL mit einer installierten Linux-Distribution aktiviert haben, die WSL 2 ausführt.
- Sie müssen Docker Desktop für Windows mit aktivierter WSL 2-Engine und aktivierter Integration installiert haben. Updates zu den Nutzungsbedingungen finden Sie im Docker Desktop-Lizenzvertrag.
Exportieren der TAR-Datei aus einem Container
Öffnen Sie die Befehlszeile (Bash) für eine Linux-Distribution, die Sie bereits über den Microsoft Store installiert haben (in diesem Beispiel Ubuntu).
Stellen Sie sicher, dass Docker Desktop ausgeführt wird (oder starten Sie, wenn Sie Docker unter der WSL-Distribution installiert haben, den Dienst mit
sudo service docker start
).Führen Sie den CentOS-Container in Docker aus:
docker run -t --name wsl_export centos ls /
Exportieren Sie die Container-ID in eine TAR-Datei auf Ihrem eingebundenen Laufwerk C:
docker export wsl_export > /mnt/c/temp/centos.tar
Bereinigen des Containers
docker rm wsl_export
Dieser Prozess exportiert die CentOS-TAR-Datei aus dem Docker-Container, sodass wir sie jetzt zur lokalen Verwendung mit WSL importieren können.
Importieren der TAR-Datei in WSL
Sobald Sie eine TAR-Datei besitzen, können Sie sie mit dem folgenden Befehl importieren: wsl --import <Distro> <InstallLocation> <FileName>
.
Beispiel zum Importieren von CentOS
So importieren Sie die TAR-Datei für die CentOS-Distribution in WSL
Öffnen Sie PowerShell, und stellen Sie sicher, dass ein Ordner erstellt wurde, in dem die Distribution gespeichert werden soll.
cd C:\temp mkdir E:\wslDistroStorage\CentOS
Verwenden Sie den Befehl
wsl --import <DistroName> <InstallLocation> <InstallTarFile>
, um die TAR-Datei zu importieren.wsl --import CentOS E:\wslDistroStorage\CentOS .\centos.tar
Verwenden Sie den Befehl
wsl -l -v
, um zu überprüfen, welche Distributionen Sie installiert haben.Verwenden Sie schließlich den Befehl
wsl -d CentOS
, um Ihre neu importierte CentOS Linux-Distribution auszuführen.
Hinzufügen von WSL-spezifischen Komponenten (etwa von einem Standardbenutzer bzw. einer Standardbenutzerin)
Bei Verwendung von „--import“ werden Sie standardmäßig immer als Stammbenutzer*in gestartet. Sie können Ihr eigenes Benutzerkonto einrichten. Beachten Sie jedoch, dass der Einrichtungsprozess je nach Linux-Distribution geringfügig variiert.
Um ein Benutzerkonto mit der CentOS-Distribution einzurichten, die wir gerade importiert haben, öffnen Sie zunächst PowerShell, und starten Sie CentOS mithilfe des folgenden Befehls:
wsl -d CentOS
Öffnen Sie als Nächstes Ihre CentOS-Befehlszeile. Verwenden Sie den unten genannten Befehl, um sudo und Kennworteinstellungstools in CentOS zu installieren, ein Benutzerkonto zu erstellen und als Standardbenutzer*in festzulegen. In diesem Beispiel lautet der Benutzername „caloewen“.
Hinweis
Sie sollten den Benutzernamen zur sudoers-Datei hinzufügen, damit der Benutzer bzw. die Benutzerin sudo verwenden kann. Der Befehl adduser -G wheel $myUsername
fügt den*die Benutzer*in myUsername
der Gruppe „wheel“ hinzu. Benutzer*innen in der Gruppe „wheel“ werden automatisch sudo-Berechtigungen gewährt, und sie können Aufgaben ausführen, die erhöhte Berechtigungen erfordern.
yum update -y && yum install passwd sudo -y
myUsername=caloewen
adduser -G wheel $myUsername
echo -e "[user]\ndefault=$myUsername" >> /etc/wsl.conf
passwd $myUsername
Sie müssen diese Instanz jetzt beenden und sicherstellen, dass alle WSL-Instanzen beendet wurden. Starten Sie die Distribution erneut, um den neuen Standardbenutzer bzw. die neue Standardbenutzerin anzuzeigen, indem Sie diesen Befehl in PowerShell ausführen:
wsl --terminate CentOS
wsl -d CentOS
Basierend auf diesem Beispiel wird nun [caloewen@loewen-dev]$
als Ausgabe angezeigt.
Weitere Informationen zum Konfigurieren von WSL-Einstellungen finden Sie unter Konfiguration der erweiterten Einstellungen im Windows-Subsystem für Linux (WSL).
Verwenden einer benutzerdefinierten Linux-Distribution
Sie können eine eigene benutzerdefinierte Linux-Distribution erstellen, die als UWP-App verpackt ist und sich genau wie die im Microsoft Store verfügbaren WSL-Distributionen verhält. Informationen dazu finden Sie unter Erstellen einer benutzerdefinierten Linux-Distribution für WSL.
Windows Subsystem for Linux