LainyZine: 프로그래머 가이드 🐣

[Windows 10] WSL2 설치 및 사용법

2020년 5월 Windows 10 May 2020 Update(20H1) 업데이트가 있었습니다. 2019년 이후 Windows 10의 첫 대규모 업데이트로 사용성 면에서도 큰 변화가 있었으며, 윈도우에서 리눅스를 사용할 수 있게 해주는 WSL2 버전이 정식으로 릴리스되었습니다.

WSL은 Windows Subsystem for Linux 2의 줄임말로, 윈도우의 가상화 기능을 활용해서 윈도우 위에서 리눅스를 사용할 수 있게해줍니다. 단순히 가상머신으로 리눅스를 사용할 수 있는 것이 아니라, 윈도우 시스템과 통합되어 마치 하나의 머신처럼 자연스럽게 리눅스를 활용하는 것이 가능합니다. 특히 기존 Windows 10 Home 에디션에서는 가상화 기능들을 지원하지 않아서 Docker Desktop을 사용할 수 없었는데, WSL2가 릴리스되면서 Windows 10 Home 에디션에서도 Docker Desktop을 사용할 수 있게되었습니다.

이 글에서는 다음 WSL2를 설치하는 방법에 대해서 자세히 소개해보고자 합니다.

Windows 10에 WSL2 설치하는 방법

WSL을 설치하려면 Windows 10의 20H1 이상 버전이어야합니다. 2021년 현재 20H1, 20H2, 21H1 버전을 사용해야 설치가 가능할 것으로 보입니다.

Windows + S 키를 클릭하고 PC 정보(설정)를 검색해서 실행합니다.

PC 정보 설정을 검색하고 실행합니다

오른쪽 정보 페이지에서 스크롤을 내리면 Windows 사양을 확인할 수 있습니다. 여기서 버전이 20H1, 20H2, 21H1 혹은 그보다 높은 버전인지 확인합니다.

Windows 사양에서 현재 버전을 확인합니다

만약 이보다 낮은 버전이면 먼저 Windows Update 설정을 열어 최신 버전으로 업데이트해주시기 바랍니다.

WSL2를 설치하기 위해서는 가상 터미널을 사용해야합니다. Windows Terminal 사용을 추천합니다. 따로 설치가 되어있지 않다면 PowerShell을 사용해도 무방하지만 윈도우 터미널에서는 WSL2 셸을 바로 실행하는 것도 가능하기 때문에 미리 설치해두는 것을 강력 추천합니다.

먼저 가상 터미널을 관리자 권한으로 실행해주세요. Windowsn + S 키로 Windows Terminal이나 PowerShell을 검색한 후 오른쪽 버튼을 눌러 ’관리자로 실행’을 선택합니다.

PowerShell을 검색해서 관리자 권한으로 실행합니다

DISM으로 WSL 관련 기능 활설화

DISM(배포 이미지 서비스 및 관리) 명령어로 Microsoft-Windows-Subsystem-Linux 기능을 활성화합니다.

$ dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
버전: 10.0.19041.844

이미지 버전: 10.0.19043.928
기능을 사용하도록 설정하는 중
[==========================100.0%==========================]

다음으로 dism 명령어로 VirtualMachinePlatform 기능을 활성화합니다.

$ dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
배포 이미지 서비스 및 관리 도구

이미지 버전: 10.0.19043.928

기능을 사용하도록 설정하는 중
[==========================100.0%==========================]
작업을 완료했습니다.

작업이 정상적으로 완료되었는지, 메시지를 꼭 확인해주세요. 터미널이 관리자 권한이 아닌 경우 작업이 실패합니다. 작업이 정상 완료되었다면 이 시점에 재부팅을 한 번 해줍니다.

WSL2 Linux 커널 업데이트

다음으로 WSL2 Linux 커널 업데이트를 진행해야합니다. 첫 번째로 링크는 마이크로소프트의 공식 WSL2 설치 가이드이며, 두 번째 링크는 이 문서에 포함된 wsl_update_x64.msi 파일입니다. 이 파일을 다운로드 받아 안내에 따라 설치를 진행합니다.

WSL2 Linux 커널 업데이트 패키지를 설치합니다

윈도우 터미널을 열고, 다음 명령어를 실행해, 기본적으로 사용할 WSL 버전을 2로 변경해줍니다.

$ wsl --set-default-version 2

마이크로소프트 스토어에서 리눅스 설치

마이크로소프트 스토어(Microsoft Store) 앱을 열고 Ubuntu를 검색합니다.

Microsoft Store에서 Ubuntu 앱을 검색합니다

WSL2에서는 다양한 리눅스 배포판을 사용할 수 있습니다. 여기서는 가장 많이 사용되는 리눅스 배포판인 Ubuntu를 설치해보겠습니다(Ubuntu는 무료로 사용할 수 있지만, 리눅스 배포판에 따라서 유료인 경우도 있습니다). 맨 앞의 패키지를 선택하고 상세 페이지에서 설치를 진행합니다.

Ubuntu 앱을 설치합니다

설치가 끝나고 앱이 실행되면 터미널이 하나 열리고 설치가 자동적으로 진행됩니다. 이 창을 끄지 말고 기다려주세요. 앱이 자동으로 실행되지 않는다면 Windows +S 키를 입력하고 Ubnutu를 검색해서 실행해줍니다.

Ubuntu 앱을 검색해서 실행합니다

처음에 ’Installing. this may take few minutes…’이라는 메시지가 나옵니다. 조금 시간이 지나면 우분투에서 사용할 사용자 이름과 패스워드를 지정하는 입력창이 나타납니다. 사용하고자 하는 사용자 이름과 패스워드를 입력해주세요.

Ubuntu 리눅스의 초기 셋업을 진행합니다

다시 터미널을 실행해주세요(이 때는 관리자 모드를 사용하지 않아도 됩니다). 이제 WSL을 관리하기 위한 wsl 명령어를 사용할 수 있습니다. wsl -l -v로 현재 설치된 리눅스를 확인해봅니다.

$ wsl -l -v
  NAME      STATE           VERSION
* Ubuntu    Running         2

앞의 *는 디폴트 머신을 의미합니다. 여기서 버전 컬럼은 WSL의 버전을 의미합니다. 2가 출력된다면 그대로 사용하면 됩니다. 만약 버전이 1이라고 나온다면 다음 명령을 실행해줍니다.

$ wsl --set-version Ubuntu 2
변환이 진행 중입니다. 몇 분 정도 걸릴 수 있습니다...
WSL 2와의 주요 차이점에 대한 자세한 내용은 https://aka.ms/wsl2를 참조하세요
변환이 완료되었습니다.

실행 후 ’변환이 완료되었습니다’라는 출력 결과를 꼭 확인해주세요. 다시 wsl -l -v 명령어로 확인해봅니다. 변환이 잘 되었는지 확인해보겠습니다.

$ wsl -l -v
  NAME      STATE           VERSION
* Ubuntu    Running         2

WSL을 활용하다 보면 wsl을 명령어를 사용해야하는 경우가 있는데, 자세한 내용은 다음 공식 문서를 참고해주세요.

여기까지 WSL2 및 Ubuntu 설치를 마쳤습니다 🥳

WSL2로 Ubuntu 리눅스 맛보기

이제 WSL2로 리눅스를 활용하면 됩니다. 먼저 wsl 명령어로 Ubuntu 머신에 명령을 실행해보겠습니다. 앞서 작업하던 터미널에서 아래 명령어를 실행합니다.

$ wsl cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.2 LTS"

현재 사용중인 Ubuntu 버전이 출력됩니다. 현재 설치된 Ubnutu는 Ubuntu 20.04.2 LTS 버전인 것을 확인할 수 있습니다. 다음 명령어로 Bash 셸을 실행하는 것도 가능합니다.

$ wsl bash
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

## 저자 주: 여기서부터 WSL2 리눅스 셸 프롬프트입니다.
lainy@DESKTOP-DSP22P:/mnt/c/Users/lainy$

이 내용을 자세히 보면 디렉터리가 /mnt/c/Users/lainy로 실행됩니다. 즉, Windows 10 메인 디스크가 리눅스와 연결되어있으며, WSL2 Linux에서 Windows의 파일을 사용하는 것도 가능합니다.

WSL2 사용 팁들

이렇게 끝내기는 아쉬우니, WSL2를 사용할 때 알아두면 좋은 팁들을 몇 가지 더 소개해보고자 합니다.

팁: Windows Terminal로 WSL2 사용하기

앞서 짧게 언급 했습니다만, Windows Terminal은 WSL2도 기본적으로 지원하고 있습니다. 따라서 WSL2로 리눅스 배포판을 설치하고 나면, Windows Terminal에서 이 리눅스를 바로 사용하는 게 가능합니다.

Windows Terminal을 설치하고 실행합니다. 탭 바 오른쪽의 아래쪽 화살표를 누르면, WSL2로 설치된 Ubuntu가 보입니다.

이제 Windows Terminal에서 Ubuntu를 사용할 수 있습니다

Ubuntu를 선택하면, WSL2로 설치된 Ubuntu 셸이 바로 실행됩니다.

Windows Terminal에서 Ubuntu를 실행한 모습

팁: 다른 리눅스 배포판 설치(칼리 리눅스)

Ubuntu의 다른 버전이나 다른 리눅스 배포판을 설치하는 것도 가능합니다. 여기서는 Kali Linux를 설치해보겠습니다. 먼저 Microsoft Store에서 Kali Linux를 검색해서, 설치하고 실행해주세요.

이제 wsl -l -v를 실행해보면 kali-linux를 목록에서 확인할 수 있습니다.

 wsl -l -v
  NAME                   STATE           VERSION
* Ubuntu                 Running         2
  kali-linux             Running         2

wsl 명령어 뒤에 리눅스에서 실행할 명령어는 *가 붙은 기본 머신에서 실행됩니다. 이를 동적으로 변경하려면 -d <WSL_NAME> 옵션을 사용하면 됩니다. 예를 들어 우분투에서 실행하려면 -d Ubuntu 옵션을 붙여주고, 칼리 리눅스를 실행하려면 -d kali-linux를 붙여줍니다.

$  wsl -d ubuntu cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.2 LTS (Focal Fossa)"
...

$ wsl -d kali-linux cat /etc/os-release
PRETTY_NAME="Kali GNU/Linux Rolling"
NAME="Kali GNU/Linux"
ID=kali
VERSION="2021.2"
...

각 리눅스의 버전을 확인할 수 있습니다.

Windows Terminal에서도 칼리 리눅스를 사용할 수 있습니다(설치 후 바로 표시가 되지 않는다면, Windows Terminal을 한 번 재실행해주세요).

Windows Terminal에 kali-linux가 추가되었습니다

팁: 디폴트 머신 변경하기

-d 옵션으로 실행하고자 하는 WSL2 리눅스 머신을 변경할 수도 있습니다만, 자주 사용하는 머신을 디폴트 머신으로 변경하면 더 편리합니다. 이 때는 set-default 옵션을 사용합니다.

$ wsl --set-default kali-linux

wsl -l -v를 실행해보면 이제 칼리 리눅스(kali-linux) 앞에 *가 붙어있는 것을 확인할 수 있습니다.

$ wsl -l -v
  NAME                   STATE           VERSION
* kali-linux             Running         2
  Ubuntu                 Running         2

팁: WSL2에서 사용 가능한 리눅스 배포판 종류

Microsoft Store에서 다양한 리눅스 배포판들을 설치하는 것이 가능합니다. 단, 일부 배포판의 경우 유료로 제공되고 있으니 사용에 참고해주세요. 스토어에서 제공되는 주요 배포판 목록입니다.

Microsoft에서 제공하는 배포판 이외에도 공식문서에서는 appx 패키지를 직접 다운로드해서 사용할 수 있는 방법을 가이드하고 있습니다.

이 페이지에서는 다음 배포판에 대한 리눅스 앱 다운로드 링크를 제공하고 있습니다.

그 외에 sirredbeard/Awesome-WSL 저장소의 Unofficial Distributions 섹션을 참고하면, GitHub를 통해서 릴리스되는 비공식 배포판 버전들도 확인해볼 수 있습니다.

목록에 없는 배포판이라면 직점 임포트해보는 것도 가능합니다. 다음 문서를 참고해주세요.

추천 문서

WSL 이슈를 관리하는 GitHub 저장소입니다. WSL 사용 중에 문제가 있다면 저장소의 이슈를 검색해보는 것을 추천합니다.

WSL을 설치하고 사용할 때 가장 도움이 많이 되는 건 역시 공식 문서들입니다.

WSL 설치 및 사용에 도움이 되는 페이지들입니다.

LainyZine은 쿠팡 파트너스 활동에 따른 수수료를 제공받습니다.