졜근 κ²Œμ‹œλœ Windows 10 Build 2004 λŠ” WSL 2 버전Windows Subsystem Linux version 2이 ν¬ν•¨λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

2020 06 01 wsl 2 windows 10 build 2004 003

WSL 2 버전은 Linux용 Windows ν•˜μœ„ μ‹œμŠ€ν…œ μ•„ν‚€ν…μ³μ˜ μƒˆλ‘œμš΄ λ²„μ „μž…λ‹ˆλ‹€.

WSL 2 버전은 파일 μ‹œμŠ€ν…œ μ„±λŠ₯을 높이고, 전체 μ‹œμŠ€ν…œ 호좜 ν˜Έν™˜μ„±μ„ μΆ”κ°€ν•©λ‹ˆλ‹€.

WSL 2 버전은 WSL 1버전을 λŒ€μ²΄ν•˜μ§€ μ•ŠμœΌλ―€λ‘œ, λ¦¬λˆ…μŠ€ λ°°ν¬λ°˜μ„ μ‚¬μš©ν•  λ•Œ, WSL 2 버전 λ˜λŠ” WSL 1 버전을 μ„ νƒμ μœΌλ‘œ 지정할 수 μžˆμŠ΅λ‹ˆλ‹€.

WSL μ‚¬μš©

WSL 을 μ‚¬μš©ν•˜λ €λ©΄ μ•„λž˜ 두 Windows κΈ°λŠ₯을 μ‚¬μš©ν•˜λ„λ‘ λ³€κ²½λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

κΈ°λŠ₯ 이름: 가상 λ¨Έμ‹  ν”Œλž«νΌ Virtual Machine Platform

PS> Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

κΈ°λŠ₯ 이름: Linux용 Windows ν•˜μœ„ μ‹œμŠ€ν…œ Windows Subsystem for Linux

PS> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

2020 06 01 wsl 2 windows 10 build 2004 001

λ¦¬λˆ…μŠ€ 배포판 μ„€μΉ˜

λ¦¬λˆ…μŠ€ 배포판의 μ„€μΉ˜ 방법은 μ—¬λŸ¬ 가지가 μ œκ³΅λ©λ‹ˆλ‹€.

κ°€μž₯ μ‰¬μš΄ 방법은 Windows Store μ—μ„œ λ¦¬λˆ…μŠ€ λ°°ν¬νŒμ„ κ²€μƒ‰ν•˜κ³ , μ„€μΉ˜ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄ λ¦¬λˆ…μŠ€ λ°°ν¬νŒμ€‘ Ubuntuλ₯Ό μ‚¬μš©ν•˜λ €λ©΄ Windows Store μ—μ„œ Ubuntuλ₯Ό κ²€μƒ‰ν•˜κ³ , μ›ν•˜λŠ” 버전을 μ„€μΉ˜ν•œ ν›„ μ‹€ν–‰ν•˜λ©΄ λ©λ‹ˆλ‹€.

2020 06 01 wsl 2 windows 10 build 2004 002

λ¦¬λˆ…μŠ€ 배포판이 μ„€μΉ˜λœ ν›„ μ‹€ν–‰ν•˜λ©΄ λ¦¬λˆ…μŠ€μ—μ„œ μ‚¬μš©ν•  μ‚¬μš©μž 이름, λΉ„λ°€λ²ˆν˜Έλ₯Ό μž…λ ₯ν•˜λŠ” 창이 열리고, μ›ν•˜λŠ” μ‚¬μš©μž 이름, λΉ„λ°€λ²ˆν˜Έλ₯Ό μž…λ ₯ν•œ ν›„ μ‚¬μš©ν•˜μ‹œλ©΄ λ©λ‹ˆλ‹€.

WSL 1 버전 μ‚¬μš©μž

WSL 1 λ²„μ „μœΌλ‘œ λ¦¬λˆ…μŠ€ λ°°ν¬νŒμ„ μ‚¬μš©μ€‘μ΄λ©΄, WSL 1 버전을 계속 μ‚¬μš©ν•΄λ„ 되고, WSL 2 λ²„μ „μœΌλ‘œ λ³€κ²½ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

wsl -l -v λͺ…λ ΉμœΌλ‘œ ν˜„μž¬ 싀행쀑인 배포판 λͺ©λ‘μ„ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

배포판 이름, μƒνƒœ, WSL 버전이 좜λ ₯λ©λ‹ˆλ‹€.

PS> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-20.04    Running         2

WSL 2 λ²„μ „μœΌλ‘œ λ³€κ²½ν•˜λ €λ©΄ wsl --set-version <distribution name> <version> λͺ…λ ΉμœΌλ‘œ λ°°ν¬νŒμ„ μ‹€ν–‰ν•  WSL 버전을 지정할 수 μžˆμŠ΅λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄ 배포판 이름이 Ubuntu-20.04 이고 WSL 1 λ²„μ „μœΌλ‘œ μ‹€ν–‰ 쀑인 λ¦¬λˆ…μŠ€ λ°°ν¬νŒμ„ WSL 2 λ²„μ „μœΌλ‘œ μ‹€ν–‰λ˜λ„λ‘ λ³€κ²½ν•˜λ €λ©΄ μ•„λž˜μ™€ 같이 λͺ…령을 μ‹€ν–‰ν•©λ‹ˆλ‹€.

PS> wsl --set-version Ubuntu-20.04 2

WSL 2 λ²„μ „λ‘œ 싀행쀑인 λ°°ν¬νŒμ„ WSL 1 λ²„μ „μœΌλ‘œ λ³€κ²½ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

PS> wsl --set-versoin Ubuntu-20.04 1

❗ WSL 버전 λ³€κ²½ λ™μž‘μ•ˆν•¨

μ €λŠ” WSL 1 버전을 μ‚¬μš©ν–ˆμ—ˆκ³ , κΈ€ μž‘μ„± λ‹Ήμ‹œμ—λŠ” WSL 1 버전을 μ‚¬μš©ν•˜μ§€ μ•Šκ²Œ μ„€μ •λ˜μ–΄ μžˆλŠ” μƒνƒœμ˜€μŠ΅λ‹ˆλ‹€.

WSL 2 λ²„μ „μ‚¬μš©μ„ μœ„ν•΄ Windows κΈ°λŠ₯을 ν™œμ„±ν™”ν•˜κ³ , λ¦¬λˆ…μŠ€ λ°°ν¬νŒμ„ μ„€μΉ˜ν•œ ν›„ WSL 2 λ²„μ „μœΌλ‘œ 변경을 μ‹œλ„ν–ˆλŠ”λ°, μ²˜λ¦¬λ˜λŠ” 것 같지 μ•˜μ•˜μŠ΅λ‹ˆλ‹€. wsl --set-version Ubuntu-20.04 2 λͺ…λ Ή μ‹€ν–‰ ν›„ 금방 μ’…λ£Œλ˜μ–΄ λ²„λ ΈμŠ΅λ‹ˆλ‹€.

WSL 배포판 λͺ©λ‘μ„ 확인해 λ³΄λ‹ˆ, μ—¬μ „νžˆ WSL 1 λ²„μ „μœΌλ‘œ 좜λ ₯λ©λ‹ˆλ‹€.

κ΄€λ ¨ 문제λ₯Ό κ²€μƒ‰ν•΄λ³΄λ‹ˆ, WSL 2 λ¦¬λˆ…μŠ€ 컀널 μ—…λ°μ΄νŠΈ νŽ˜μ΄μ§€λ₯Ό ν™•μΈν•˜κ³ , x64 μž₯치용 μ΅œμ‹  WSL 2 λ¦¬λˆ…μŠ€ 컀널 μ—…λ°μ΄νŠΈ νŒ¨ν‚€μ§€λ₯Ό λ‹€μš΄λ‘œλ“œν•˜κ³  μ„€μΉ˜ν–ˆμŠ΅λ‹ˆλ‹€.

x64 μž₯치용 μ΅œμ‹  WSL 2 λ¦¬λˆ…μŠ€ 컀널 μ—…λ°μ΄νŠΈ νŒ¨ν‚€μ§€ μ„€μΉ˜ ν›„ λ‹€μ‹œ WSL 2 λ²„μ „μœΌλ‘œ 변경을 μ‹œλ„ν•˜λ‹ˆ μ‹œκ°„μ΄ 쑰금 흐λ₯Έ ν›„ μ’…λ£Œλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

WSL 배포판 λͺ©λ‘μ„ ν™•μΈν•΄λ³΄λ‹ˆ, WSL 2 λ²„μ „μœΌλ‘œ μ‹€ν–‰μ€‘μž„μ„ 확인할 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

PS> wsl --set-version Ubuntu-20.04 2
Conversion in progress, this may take a few minutes...
For information on key differences with WSL 2 please visit https://aka.ms/wsl2
Conversion complete.
PS> wsl -l -v
 NAME            STATE           VERSION
* Ubuntu-20.04    Stopped         2
 Debian          Stopped         1
 Ubuntu          Stopped         2

마치며

λ¦¬λˆ…μŠ€μ—μ„œ μœˆλ„μš° 파일 μ‹œμŠ€ν…œμœΌλ‘œ κ΄€λ¦¬λ˜λŠ” Git 둜컬 μ €μž₯μ†Œμ˜ 파일 μ²˜λ¦¬λŠ” WSL 1 버전에 λΉ„ν•΄ λΉ¨λΌμ‘Œμ§€λ§Œ, λŠλ¦½λ‹ˆλ‹€. πŸ’¦

Windows μ‚¬μš©μž 디렉터리와 WSL μ‚¬μš©μž λ””λ ‰ν„°λ¦¬λŠ” λΆ„λ¦¬λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

Windows μ—μ„œ WSL μ‚¬μš©μž 디렉터리에 μ ‘κ·Όν•˜λ €λ©΄ \\wsl$\<distribution name>\home\<linux username>와 같이 λ„€νŠΈμ›Œν¬ 경둜λ₯Ό μ‚¬μš©ν•΄μ„œ μ ‘κ·Όν•  수 μžˆμŠ΅λ‹ˆλ‹€. πŸ‘

예λ₯Ό λ“€μ–΄ 배포판 이름이 Ubuntu-20.04 이고, λ¦¬λˆ…μŠ€ μ‚¬μš©μž 이름이 bbon이면, μ—°κ²° κ²½λ‘œλŠ” μ•„λž˜μ™€ κ°™μŠ΅λ‹ˆλ‹€.

πŸ™Œ \\wsl$\Ubuntu-20.04\home\bbon

μœˆλ„μš°μ—μ„œ μ‚¬μš©ν•˜λŠ” Visual Studio Code 에 Remote -WSL ν™•μž₯을 μ„€μΉ˜ν•œ ν›„ λ¦¬λˆ…μŠ€μ—μ„œ Visual Studio Codeλ₯Ό μ‹€ν–‰ $ code . ν•˜λ©΄, Visual Studio Code Server κ°€ μ‹œμž‘λ˜κ³ , μœˆλ„μš°μ—μ„œ λ¦¬λˆ…μŠ€μ˜ νŒŒμΌμ‹œμŠ€ν…œμ— μ›κ²©μœΌλ‘œ μ—°κ²°ν•΄μ„œ μž‘μ—…μ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€. πŸ‘

$ code .
Installing VS Code Server for x64 (0000000000000000000000000000000000000000)
Downloading: 100%
Unpacking: 100%
Unpacked 2321 files and folders to /home/bbon/.vscode-server/bin/0000000000000000000000000000000000000000.

λ¦¬λˆ…μŠ€ λ°°ν¬νŒμ„ μ—°κ²°ν•˜λ €λ©΄ λͺ…λ Ή ν”„λ‘¬ν”„νŠΈλ₯Ό μ—΄κ³ , bash λͺ…령을 μ‹€ν–‰ν•˜λ©΄ κΈ°λ³Έ λ¦¬λˆ…μŠ€ 배포판이 μ—°κ²°λ©λ‹ˆλ‹€.

λ¦¬λˆ…μŠ€ λ°°ν¬νŒμ„ μ—°κ²°ν•˜λ €λ©΄ λͺ…λ Ή ν”„λ‘¬ν”„νŠΈλ₯Ό μ—΄κ³ , bash λͺ…령을 μ‹€ν–‰ν•˜λ©΄ κΈ°λ³Έ λ¦¬λˆ…μŠ€ 배포판이 μ—°κ²°λ©λ‹ˆλ‹€.

PS> bash

μ°Έμ‘°