ืคืจื™ืฆื•ืช ื—ื™ื™ื ืžื’ื ื™ื‘ื•ืช ืœืขื‘ื•ื“ื” ืขื WSL (ืžืขืจื›ืช ื”ืžืฉื ื” ืฉืœ Windows ืขื‘ื•ืจ ืœื™ื ื•ืงืก)

ืื ื™ ืขืžื•ืง ื‘-WSL (Windows Subsystem for Linux) ื•ืขื›ืฉื™ื• ื–ื” WSL2 ืืคืฉืจ ืœื”ืฉื™ื’ ื‘ ืžืงื•ืจื‘ื™ Windows, ื–ื” ื–ืžืŸ ืžืฆื•ื™ืŸ ืœื‘ื—ื•ืŸ ื‘ืืžืช ืืช ื”ืืคืฉืจื•ื™ื•ืช ื”ื–ืžื™ื ื•ืช. ืชื›ื•ื ื” ืžืื•ื“ ืžืขื ื™ื™ื ืช ืฉืžืฆืืชื™ ื‘-WSL ื”ื™ื ื”ื™ื›ื•ืœืช ืœื”ืขื‘ื™ืจ ื ืชื•ื ื™ื "ื‘ื˜ื”ื•ืจ" ื‘ื™ืŸ ืขื•ืœืžื•ืช. ื–ื• ืœื ื—ื•ื•ื™ื” ืฉืืชื” ื™ื›ื•ืœ ืœืงื‘ืœ ื‘ืงืœื•ืช ืขื ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ืžืœืื•ืช, ื•ื”ื™ื ืžื“ื‘ืจืช ืขืœ ื”ืื™ื ื˜ื’ืจืฆื™ื” ื”ื”ื“ื•ืงื” ื‘ื™ืŸ ืœื™ื ื•ืงืก ื•-Windows.

ืœื”ืœืŸ ืžื™ื“ืข ื ื•ืกืฃ ืขืœ ื›ืžื” ืžื”ื“ื‘ืจื™ื ื”ืžื’ื ื™ื‘ื™ื ืฉืืชื” ื™ื›ื•ืœ ืœืขืฉื•ืช ื›ืืฉืจ ืžืขืจื‘ื‘ื™ื ื—ืžืืช ื‘ื•ื˜ื ื™ื ื•ืฉื•ืงื•ืœื“!

ืคืจื™ืฆื•ืช ื—ื™ื™ื ืžื’ื ื™ื‘ื•ืช ืœืขื‘ื•ื“ื” ืขื WSL (ืžืขืจื›ืช ื”ืžืฉื ื” ืฉืœ Windows ืขื‘ื•ืจ ืœื™ื ื•ืงืก)

ื”ืคืขืœ ืืช ืกื™ื™ืจ Windows ืž-Linux ื•ื’ื™ืฉื” ืœืงื‘ืฆื™ ื”ื”ืคืฆื” ืฉืœืš

ื›ืืฉืจ ืืชื” ื ืžืฆื ื‘ืฉื•ืจืช ืคืงื•ื“ื” WSL/bash ื•ื‘ืจืฆื•ื ืš ืœื’ืฉืช ื—ื–ื•ืชื™ืช ืœืงื‘ืฆื™ื ืฉืœืš, ืืชื” ื™ื›ื•ืœ ืœื”ืคืขื™ืœ ืืช "explorer.exe." ื”ื™ื›ืŸ ืฉื ืžืฆืืช ื”ืกืคืจื™ื™ื” ื”ื ื•ื›ื—ื™ืช ื•ืชืงื‘ืœ ื—ืœื•ืŸ ืกื™ื™ืจ Windows ืขื ืงื‘ืฆื™ ื”ืœื™ื ื•ืงืก ืฉืœืš ืฉื ืฉืœื—ื• ืืœื™ืš ื“ืจืš ื”ืฉืจืช ืชื•ื›ื ื™ืช ืจืฉืช ืžืงื•ืžื™ืช9.

ืคืจื™ืฆื•ืช ื—ื™ื™ื ืžื’ื ื™ื‘ื•ืช ืœืขื‘ื•ื“ื” ืขื WSL (ืžืขืจื›ืช ื”ืžืฉื ื” ืฉืœ Windows ืขื‘ื•ืจ ืœื™ื ื•ืงืก)

ื”ืฉืชืžืฉ ื‘ืคืงื•ื“ื•ืช ืœื™ื ื•ืงืก ืืžื™ืชื™ื•ืช (ืœื CGYWIN) ืž-Windows

ื›ืชื‘ืชื™ ืขืœ ื–ื” ื‘ืขื‘ืจ, ืื‘ืœ ืขื›ืฉื™ื• ื™ืฉ ื›ื™ื ื•ื™ื™ื ืœืคื•ื ืงืฆื™ื•ืช PowerShell, ื”ืžืืคืฉืจื•ืช ืœืš ืœื”ืฉืชืžืฉ ื‘ืคืงื•ื“ื•ืช ืœื™ื ื•ืงืก ืืžื™ืชื™ื•ืช ืžืชื•ืš Windows.

ืืชื” ื™ื›ื•ืœ ืœืงืจื•ื ืœื›ืœ ืคืงื•ื“ืช ืœื™ื ื•ืงืก ื™ืฉื™ืจื•ืช ืž-DOS/Windows/ืžื” ืฉืœื ื™ื”ื™ื” ืคืฉื•ื˜ ืขืœ ื™ื“ื™ ื”ืฆื‘ืชื” ืื—ืจื™ WSL.exe, ื›ืžื• ื–ื”.

C:temp> wsl ls -la | findstr "foo"
-rwxrwxrwx 1 root root     14 Sep 27 14:26 foo.bat

C:temp> dir | wsl grep foo
09/27/2016  02:26 PM                14 foo.bat

C:temp> wsl ls -la > out.txt

C:temp> wsl ls -la /proc/cpuinfo
-r--r--r-- 1 root root 0 Sep 28 11:28 /proc/cpuinfo

C:temp> wsl ls -la "/mnt/c/Program Files"
...contents of C:Program Files...

ื ื™ืชืŸ ืœืงืจื•ื/ืœื”ืคืขื™ืœ ืงื•ื‘ืฆื™ ื”ืคืขืœื” ืฉืœ Windows ืž-WSL/Linux ืžื›ื™ื•ื•ืŸ ืฉื”ื ืชื™ื‘ ืฉืœ Windows ื ืžืฆื ื‘-$PATH ืœืคื ื™ Windows. ื›ืœ ืžื” ืฉืืชื” ืฆืจื™ืš ืœืขืฉื•ืช ื”ื•ื ืœืงืจื•ื ืœื–ื” ื‘ืžืคื•ืจืฉ ืขื ื”-.exe ื‘ืกื•ืฃ. ื›ืš ืคื•ืขืœ "Explorer.exe". ืืชื” ื™ื›ื•ืœ ื’ื ืœื™ืฆื•ืจ notepad.exe ืื• ื›ืœ ืงื•ื‘ืฅ ืื—ืจ.

ื”ืคืขืœ ืืช Visual Studio Code ื•ืงื‘ืœ ื’ื™ืฉื” ืœืืคืœื™ืงืฆื™ื•ืช ื”ืœื™ื ื•ืงืก ืฉืœืš ื‘ืื•ืคืŸ ืžืงื•ืจื™ ื‘-Windows

ืืชื” ื™ื›ื•ืœ ืœื”ืคืขื™ืœ "ืงื•ื“." ืชื•ืš ื›ื“ื™ ืชื™ืงื™ื™ื” ื‘-WSL ื•ืชืชื‘ืงืฉ ืœื”ืชืงื™ืŸ ื”ืจื—ื‘ื•ืช VS ืžืจื—ื•ืง.. ื–ื” ืœืžืขืฉื” ืžืคืฆืœ ืืช Visual Studio Code ืœืฉื ื™ื™ื ื•ืžืคืขื™ืœ ืฉืจืช VS Code "ืœืœื ืจืืฉ" ื‘ืœื™ื ื•ืงืก ืขื ืœืงื•ื— VS Code ื‘ืขื•ืœื Windows.

ืฆืจื™ืš ื’ื ืœื”ืชืงื™ืŸ ืงื•ื“ Visual Studio ะธ ื”ืจื—ื‘ื” ืžืจื—ื•ืง - WSL. ืื ืชืจืฆื”, ื”ืชืงืŸ ื’ืจืกืช ื‘ื˜ื ืฉืœ Windows Terminal ืœื—ื•ื•ื™ื™ืช ืžืกื•ืฃ ื˜ื•ื‘ื” ื™ื•ืชืจ ื‘-Windows.

ื”ื ื” ืžื‘ื—ืจ ื’ื“ื•ืœ ืฉืœ ืžืืžืจื™ื ืžื”ื‘ืœื•ื’ ืฉืœ ืฉื•ืจืช ื”ืคืงื•ื“ื” ืฉืœ Windows.

ืœื”ืœืŸ ื”ื™ืชืจื•ื ื•ืช ืฉืœ WSL 2

  • ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ืฆืจื™ื›ื•ืช ืžืฉืื‘ื™ื ื•ื™ื•ืฆืจื•ืช ื—ื•ื•ื™ื” ืžืื•ื“ ืขืฆืžืื™ืช.
  • ื”-WSL ื”ืžืงื•ืจื™ ื”ื™ื” ืžืื•ื“ "ืžื—ื•ื‘ืจ" ืื‘ืœ ื”ื™ื” ื‘ืขืœ ื‘ื™ืฆื•ืขื™ื ื’ืจื•ืขื™ื ืœืžื“ื™ ื‘ื”ืฉื•ื•ืื” ืœ-VM.
  • WSL 2 ืžืฆื™ืข ื’ื™ืฉื” ื”ื™ื‘ืจื™ื“ื™ืช ืขื ืžื—ืฉื‘ื™ VM ืงืœื™ื, ืžืžืฉืง ืžื—ื•ื‘ืจ ืœื—ืœื•ื˜ื™ืŸ ื•ื‘ื™ืฆื•ืขื™ื ื’ื‘ื•ื”ื™ื.

ื”ืคืขืœ ืžืกืคืจ ืœื™ื ื•ืงืก ื‘ืฉื ื™ื•ืช

ื›ืืŸ ืื ื™ ืžืฉืชืžืฉ ื‘-"wsl --list --all" ื•ื›ื‘ืจ ื™ืฉ ืœื™ ืฉืœื•ืฉื” ืœื™ื ื•ืงืก ื‘ืžืขืจื›ืช ืฉืœื™.

C:Usersscott>wsl --list --all
Windows Subsystem for Linux Distributions:
Ubuntu-18.04 (Default)
Ubuntu-16.04
Pengwin

ืื ื™ ื™ื›ื•ืœ ืœื”ืคืขื™ืœ ืื•ืชื ื‘ืงืœื•ืช ื•ื’ื ืœื”ืงืฆื•ืช ืคืจื•ืคื™ืœื™ื ื›ืš ืฉื”ื ื™ื•ืคื™ืขื• ื‘ืžืกื•ืฃ Windows ืฉืœื™.

ื”ืคืขืœ ืืช X Windows Server ื‘-Windows ืขื Pengwin

ืคื™ื ื’ื•ื•ื™ืŸ ื”ื™ื ื”ืคืฆืช WSL ืœื™ื ื•ืงืก ืžื•ืชืืžืช ืื™ืฉื™ืช ืฉื”ื™ื ืžืื•ื“ ืžื’ื ื™ื‘ื”. ืืชื” ื™ื›ื•ืœ ืœื”ืฉื™ื’ ืื•ืชื• ื‘ Windows Store. ืฉืœื‘ ืืช Pengwin ืขื X Server, ืœืžืฉืœ X410, ื•ืืชื” ืžืงื‘ืœ ืžืขืจื›ืช ืžืฉื•ืœื‘ืช ืžืื•ื“ ืžื’ื ื™ื‘ื”.

ื”ืขื‘ืจ ื”ืคืฆื•ืช WSL ื‘ืงืœื•ืช ื‘ื™ืŸ ืžืขืจื›ื•ืช Windows.

ืื ื” ื‘ื˜ืก ื—ื•ื’ื’ืช ืืช ื”ื˜ื›ื ื™ืงื” ื”ื ื”ื“ืจืช ื”ื–ื•, ืฉื‘ืืžืฆืขื•ืชื• ืชื•ื›ืœ ืœื”ืขื‘ื™ืจ ื‘ืงืœื•ืช ืืช ื”ืคืฆืช WSL2 ื”ืื™ื“ื™ืืœื™ืช ืฉืœืš ืžืžื›ื•ื ื” ืื—ืช ืœ n ืžื›ื•ื ื™ื•ืช.

wsl --export MyDistro ./distro.tar

# ั€ะฐะทะผะตัั‚ะธั‚ะต ะตะณะพ ะณะดะต-ะฝะธะฑัƒะดัŒ, Dropbox, Onedrive, ะณะดะต-ั‚ะพ ะตั‰ะต

mkdir ~/AppData/Local/MyDistro
wsl --import MyDistro ~/AppData/Local/MyDistro ./distro.tar --version 2 

ื–ื” ื”ื›ืœ. ืงื‘ืœ ืืช ื”ื”ื’ื“ืจื” ื”ืžื•ืฉืœืžืช ืฉืœ ืœื™ื ื•ืงืก, ื”ืžืกื•ื ื›ืจื ืช ื‘ื™ืŸ ื›ืœ ื”ืžืขืจื›ื•ืช ืฉืœืš.

ื”ืฉืชืžืฉ ื‘-Windows Git Credential Provider ื‘ืชื•ืš WSL

ื›ืœ ื”ืžืืคื™ื™ื ื™ื ืฉืœืขื™ืœ ื™ืฉื–ืจื• ื‘ืฉื™ื ื‘ืคื•ืกื˜ ื”ืžื’ื ื™ื‘ ื”ื–ื” ืžืืช ืื ื” ื‘ื˜ืก, ืฉื‘ื• ื”ื•ื ืžืฉืชืœื‘ ืกืคืง ืื™ืฉื•ืจื™ Windows Git ื‘-WSL, ื”ืคื™ื›ืช /usr/bin/git-credential-manager ืœืกืงืจื™ืคื˜ ืžืขื˜ืคืช ืฉืงื•ืจื ืœ-Windows git creds manager. ืžึทื‘ืจึดื™ืง. ื–ื” ื™ื”ื™ื” ืืคืฉืจื™ ืจืง ื‘ืืžืฆืขื•ืช ืื™ื ื˜ื’ืจืฆื™ื” ื ืงื™ื™ื” ื•ื”ื“ื•ืงื”.

ื ืกื” ืืช ื–ื”, ื”ืชืงืŸ WSL, ืžืกื•ืฃ Windows, ื•ืœื™ืฆื•ืจ ืกื‘ื™ื‘ืช ืœื™ื ื•ืงืก ืžื‘ืจื™ืงื” ื‘-Windows..

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”