Freigeben über


Importieren sie alle Linux-Verteilungen, die mit WSL verwendet werden sollen.

Sie können eine beliebige Linux-Verteilung 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-Verteilung CentOS für die Verwendung mit WSL importieren, indem Sie ihre Tar-Datei mit einem Docker-Container abrufen. Dieser Prozess kann angewendet werden, um eine beliebige Linux-Verteilung zu importieren.

Erhalten Sie eine Tar-Datei für die Bereitstellung.

Zuerst müssen Sie eine Tar-Datei abrufen, die alle Linux-Binärdateien für die Verteilung enthält.

Sie können eine Tar-Datei auf verschiedene Arten abrufen, darunter zwei:

  • Laden Sie eine bereitgestellte Tar-Datei herunter. Ein Beispiel für Alpine finden Sie im Abschnitt "Mini Root Filesystem" der Alpine Linux Downloads-Website .
  • Suchen Sie einen Linux-Verteilungscontainer, und exportieren Sie eine Instanz als Tar-Datei. Das folgende Beispiel zeigt diesen Prozess mithilfe des CentOS-Containers.

Herunterladen einer Tar-Datei für CentOS (Beispiel)

In diesem Beispiel verwenden wir Docker innerhalb einer WSL-Verteilung, um die Tar-Datei für CentOS abzurufen.

Voraussetzungen

Exportieren des Tars aus einem Container

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

  2. Stellen Sie sicher, dass Docker Desktop ausgeführt wird (oder wenn Sie Docker im WSL-Distro installiert haben, starten Sie 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 bereitgestellten C-Laufwerk:

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

    docker rm wsl_export
    

Beispiel für das Ausführen der obigen Befehle

Dieser Prozess exportiert die CentOS-Tar-Datei aus dem Docker-Container, damit wir sie jetzt für die lokale Verwendung mit WSL importieren können.

Importieren der Tar-Datei in WSL

Sobald Sie eine Tar-Datei bereit haben, können Sie sie mit dem Befehl importieren: wsl --import <Distro> <InstallLocation> <FileName>.

Beispiel für den Import von CentOS

So importieren Sie die CentOS-Verteilungs-Tar-Datei in WSL:

  1. Öffnen Sie PowerShell, und stellen Sie sicher, dass Sie einen Ordner erstellt haben, in dem die Verteilung 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 Verteilungen Sie installiert haben.

    Beispiel für die oben aufgeführten Befehle, die in WSL ausgeführt werden

  4. Verwenden Sie schließlich den Befehl wsl -d CentOS , um die neu importierte CentOS Linux-Verteilung auszuführen.

Fügen Sie WSL-spezifische Komponenten wie einen Standardbenutzer hinzu

Standardmäßig werden Sie beim Verwenden von --import immer als Stammbenutzer gestartet. Sie können Ihr eigenes Benutzerkonto einrichten, beachten Sie jedoch, dass der Einrichtungsprozess geringfügig je nach unterschiedlicher Linux-Verteilung variiert.

Um ein Benutzerkonto mit der soeben importierten CentOS-Verteilung einzurichten, öffnen Sie zuerst PowerShell, und starten Sie mit dem Befehl in CentOS:

wsl -d CentOS

Öffnen Sie als Nächstes die CentOS-Befehlszeile. Verwenden Sie diesen Befehl, um sudo- und Kennworteinstellungstools in CentOS zu installieren, ein Benutzerkonto zu erstellen und als Standardbenutzer festzulegen. In diesem Beispiel lautet der Benutzername "caloewen".

Hinweis

Sie möchten den Benutzernamen zur Datei "sudoers" hinzufügen, damit der Benutzer sudo verwenden kann. Der Befehl adduser -G wheel $myUsername fügt den Benutzer myUsername zur Radgruppe hinzu. Benutzern in der wheel-Gruppe werden automatisch Sudo-Berechtigungen gewährt und sie können Aufgaben ausführen, die erhöhte Berechtigungen benötigen.

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 jetzt diese Instanz verlassen und sicherstellen, dass alle WSL-Instanzen geschlossen werden. Starten Sie Ihre Verteilung erneut, um Ihren neuen Standardbenutzer anzuzeigen, indem Sie diesen Befehl in PowerShell ausführen:

wsl --terminate CentOS
wsl -d CentOS

Sie sehen nun die Ausgabe basierend auf diesem Beispiel als [caloewen@loewen-dev]$.

Beispiel für den obigen Code, der in WSL ausgeführt wird

Weitere Informationen zum Konfigurieren von WSL-Einstellungen finden Sie unter Konfigurieren von Einstellungen mit Wslconfig und wsl.conf.

Verwenden einer benutzerdefinierten Linux-Verteilung

Sie können eine eigene angepasste Linux-Verteilung erstellen, die als UWP-App verpackt ist und sich genau wie die im Microsoft Store verfügbaren WSL-Verteilungen verhält. Informationen dazu finden Sie unter Erstellen einer benutzerdefinierten Linux-Verteilung für WSL.