Sdílet prostřednictvím


Import jakékoli linuxové distribuce pro použití s WSL

Můžete použít libovolnou distribuci Linuxu uvnitř subsystému Windows pro Linux (WSL), i když není dostupná v Microsoft Storu, importováním souboru tar.

Tento článek ukazuje, jak importovat linuxovou distribuci CentOS pro použití s WSL získáním souboru tar pomocí kontejneru Dockeru. Tento proces lze použít k importu jakékoli linuxové distribuce.

Získání souboru tar pro distribuci

Nejprve budete muset získat soubor tar, který obsahuje všechny binární soubory Linuxu pro distribuci.

Soubor tar můžete získat různými způsoby, mezi které patří:

  • Stáhněte si zadaný soubor tar. Příklad pro Alpine najdete v části "Mini Root Filesystem" webu pro stahování Alpine Linux .
  • Vyhledejte linuxový distribuční kontejner a exportujte instanci jako soubor tar. Následující příklad ukazuje tento proces pomocí kontejneru CentOS.

Získání souboru tar pro příklad CentOS

V tomto příkladu použijeme Docker uvnitř distribuce WSL k získání souboru tar pro CentOS.

Požadavky

Export taru z kontejneru

  1. Otevřete příkazový řádek (Bash) pro linuxovou distribuci, kterou jste už nainstalovali z Microsoft Storu (Ubuntu v tomto příkladu).

  2. Ujistěte se, že máte spuštěnou aplikaci Docker Desktop (nebo pokud máte v distribuci WSL nainstalovaný Docker, spusťte službu pomocí sudo service docker start )

  3. Spusťte kontejner CentOS v Dockeru:

    docker run -t --name wsl_export centos ls /
    
  4. Export ID kontejneru do souboru tar na připojené jednotce c-drive:

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

    Příklad spuštění výše uvedených příkazů

  5. Vyčištění kontejneru

    docker rm wsl_export
    

Tento proces exportuje soubor tar CentOS z kontejneru Dockeru, abychom ho teď mohli importovat pro použití místně s WSL.

Import souboru tar do WSL

Jakmile budete mít soubor tar připravený, můžete ho importovat pomocí příkazu:

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

Import příkladu CentOS

Import distribučního souboru tar CentOS do WSL:

  1. Otevřete PowerShell a ujistěte se, že máte vytvořenou složku, do které chcete uložit distribuci.

    cd C:\temp
    mkdir E:\wslDistroStorage\CentOS
    
  2. K importu souboru tar použijte příkaz wsl --import <Distro> <InstallLocation> <FileName> .

    wsl --import CentOS E:\wslDistroStorage\CentOS .\centos.tar
    
  3. Pomocí příkazu wsl -l -v zkontrolujte, které distribuce jste nainstalovali.

  4. Nakonec pomocí příkazu wsl -d CentOS spusťte nově importovanou distribuci CentOS Linux.

    Příklad výše uvedených příkazů spuštěných ve WSL

Přidejte specifické komponenty WSL, jako je výchozí uživatel

Ve výchozím nastavení při použití --importbudete vždy spuštěni jako uživatel root. Můžete nastavit vlastní uživatelský účet, ale mějte na paměti, že proces nastavení se bude mírně lišit v závislosti na každé jiné distribuci Linuxu.

Pokud chcete nastavit uživatelský účet s distribucí CentOS, která jsme právě naimportovali, nejprve otevřete PowerShell a spusťte ho do CentOS pomocí příkazu:

wsl -d CentOS

Pak otevřete příkazový řádek CentOS. Tento příkaz použijte k instalaci nástrojů pro nastavení sudo a hesla do CentOS, vytvoření uživatelského účtu a jeho nastavení jako výchozího uživatele. V tomto příkladu bude uživatelské jméno "caloewen".

Poznámka:

Uživatelské jméno budete chtít přidat do souboru sudoers, aby uživatel mohl použít sudo. adduser -G wheel $myUsername Příkaz přidá uživatele myUsername do skupiny wheel. Uživatelům ve skupině wheel jsou automaticky udělena sudo oprávnění a mohou provádět úlohy vyžadující zvýšená oprávnění.

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

Nyní musíte ukončit tuto instanci a zajistit, aby všechny instance WSL byly ukončeny. Spusťte distribuci znovu, abyste viděli nového výchozího uživatele spuštěním tohoto příkazu v PowerShellu:

wsl --terminate CentOS
wsl -d CentOS

Teď [caloewen@loewen-dev]$ uvidíte jako výstup založený na tomto příkladu.

Příklad výše uvedeného kódu spuštěného ve WSL

Další informace o konfiguraci nastavení WSL najdete v tématu Konfigurace nastavení pomocí .wslconfig a wsl.conf.

Použití vlastní distribuce Linuxu

Můžete vytvořit vlastní přizpůsobenou linuxovou distribuci zabalenou jako aplikaci pro UPW, která se bude chovat stejně jako distribuce WSL, které jsou k dispozici v Microsoft Storu. Další informace najdete v tématu Vytvoření vlastní linuxové distribuce pro WSL.