Delen via


Een Linux-distributie importeren die moet worden gebruikt met WSL

U kunt elke Linux-distributie in het Windows-subsysteem voor Linux (WSL) gebruiken, zelfs als deze niet beschikbaar is in de Microsoft Store, door het te importeren met een tar-bestand.

In dit artikel wordt beschreven hoe u de Linux-distributie, CentOS, importeert voor gebruik met WSL door het tar-bestand te verkrijgen met behulp van een Docker-container. Dit proces kan worden toegepast om elke Linux-distributie te importeren.

Een tar-bestand voor de distributie verkrijgen

Eerst moet u een tar-bestand ophalen dat alle binaire Linux-bestanden voor de distributie bevat.

U kunt een tar-bestand op verschillende manieren verkrijgen, waaronder:

  • Download een opgegeven tar-bestand. U vindt een voorbeeld voor Alpine in de sectie 'Mini Root Filesystem' van de alpine Linux-downloadsite .
  • Zoek een Linux-distributiecontainer en exporteer een exemplaar als tar-bestand. In het onderstaande voorbeeld ziet u dit proces met behulp van de CentOS-container.

Een tar-bestand verkrijgen voor CentOS-voorbeeld

In dit voorbeeld gebruiken we Docker binnen een WSL-distributie om het tar-bestand voor CentOS te verkrijgen.

Vereiste voorwaarden

De tar exporteren uit een container

  1. Open de opdrachtregel (Bash) voor een Linux-distributie die u al hebt geïnstalleerd vanuit de Microsoft Store (Ubuntu in dit voorbeeld).

  2. Zorg ervoor dat Docker Desktop wordt uitgevoerd (of als Docker is geïnstalleerd in de WSL-distributie, start de service met sudo service docker start )

  3. Voer de CentOS-container uit in Docker:

    docker run -t --name wsl_export centos ls /
    
  4. Exporteer de container-ID naar een tar-bestand op de gekoppelde C-schijf.

    docker export wsl_export > /mnt/c/temp/centos.tar
    

    Voorbeeld van het uitvoeren van de bovenstaande opdrachten

  5. De container opschonen

    docker rm wsl_export
    

Met dit proces wordt het CentOS-tar-bestand geëxporteerd uit de Docker-container, zodat we het nu kunnen importeren voor lokaal gebruik met WSL.

Het tar-bestand importeren in WSL

Zodra u een tar-bestand klaar hebt, kunt u het importeren met behulp van de opdracht:

wsl.exe --import <Distro> <InstallLocation> <FileName> [Options]
Options:
    --version <Version>
    --vhd

CentOS-voorbeeld importeren

Het CentOS-distributie tar-bestand importeren in WSL:

  1. Open PowerShell en zorg ervoor dat u een map hebt gemaakt waarin u de distributie wilt opslaan.

    cd C:\temp
    mkdir E:\wslDistroStorage\CentOS
    
  2. Gebruik de opdracht wsl --import <Distro> <InstallLocation> <FileName> om het tar-bestand te importeren.

    wsl --import CentOS E:\wslDistroStorage\CentOS .\centos.tar
    
  3. Gebruik de opdracht wsl -l -v om te controleren welke distributies u hebt geïnstalleerd.

  4. Gebruik ten slotte de opdracht wsl -d CentOS om uw zojuist geïmporteerde CentOS Linux-distributie uit te voeren.

    Voorbeeld van de bovenstaande opdrachten die worden uitgevoerd in WSL

WSL-specifieke onderdelen toevoegen, zoals een standaardgebruiker

Wanneer u deze --importgebruikt, wordt u standaard altijd gestart als hoofdgebruiker. U kunt uw eigen gebruikersaccount instellen, maar houd er rekening mee dat het installatieproces enigszins varieert op basis van elke verschillende Linux-distributie.

Als u een gebruikersaccount wilt instellen met de CentOS-distributie die we zojuist hebben geïmporteerd, opent u eerst PowerShell en start u op in CentOS met behulp van de opdracht:

wsl -d CentOS

Vervolgens, open uw CentOS-commando-interface. Gebruik deze opdracht om sudo- en wachtwoordinstellingenprogramma's te installeren in CentOS, een gebruikersaccount te maken en in te stellen als de standaardgebruiker. In dit voorbeeld is de gebruikersnaam 'caloewen'.

Opmerking

U wilt de gebruikersnaam toevoegen aan het sudoers-bestand, zodat de gebruiker sudo kan gebruiken. Met de opdracht adduser -G wheel $myUsername wordt de gebruiker myUsername toegevoegd aan de wielgroep. Gebruikers in de wielgroep krijgen automatisch sudo-bevoegdheden en kunnen taken uitvoeren waarvoor verhoogde machtigingen zijn vereist.

yum update -y && yum install passwd sudo -y
myUsername=caloewen
adduser -G wheel $myUsername
echo -e "[user]\ndefault=$myUsername" >> /etc/wsl.conf
passwd $myUsername

U moet nu die instantie afsluiten en ervoor zorgen dat alle WSL-instanties worden beëindigd. Start uw distributie opnieuw om de nieuwe standaardgebruiker te zien door deze opdracht uit te voeren in PowerShell:

wsl --terminate CentOS
wsl -d CentOS

U ziet nu [caloewen@loewen-dev]$ als de uitvoer op basis van dit voorbeeld.

Voorbeeld van de bovenstaande code die wordt uitgevoerd in WSL

Zie Instellingen configureren met .wslconfig en wsl.conf voor meer informatie over het configureren van WSL-instellingen.

Een aangepaste Linux-distributie gebruiken

U kunt uw eigen aangepaste Linux-distributie maken, verpakt als een UWP-app, die zich precies gedraagt als de WSL-distributies die beschikbaar zijn in de Microsoft Store. Zie Een aangepaste Linux-distributie voor WSL maken voor meer informatie.