Freigeben über


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

Exportieren der TAR-Datei aus einem Container

  1. Öffnen Sie die Befehlszeile (Bash) für eine Linux-Distribution, die Sie bereits über den Microsoft Store installiert haben (in diesem Beispiel Ubuntu).

  2. 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).

  3. Führen Sie den CentOS-Container in Docker aus:

    docker run -t --name wsl_export centos ls /
    
  4. Exportieren Sie die Container-ID in eine TAR-Datei auf Ihrem eingebundenen Laufwerk C:

    docker export wsl_export > /mnt/c/temp/centos.tar
    
  5. Bereinigen des Containers

    docker rm wsl_export
    

Beispiel für das Ausführen der oben genannten Befehle

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

  1. Ö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
    
  2. Verwenden Sie den Befehl wsl --import <DistroName> <InstallLocation> <InstallTarFile>, um die TAR-Datei zu importieren.

    wsl --import CentOS E:\wslDistroStorage\CentOS .\centos.tar
    
  3. Verwenden Sie den Befehl wsl -l -v, um zu überprüfen, welche Distributionen Sie installiert haben.

    Beispiel der Ausführung der oben genannten Befehle in WSL

  4. 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.

Beispiel für das Ausführen des oben gezeigten Codes in WSL

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.