f4ctor
꿈을 꾸고 있습니다.

리눅스를 품은 윈도우, WSL 설치하기

Microsoft Loves Linux

Windows 환경에서 WSL을 활용하여 Linux를 돌리는 방법에 대해 알아봅니다.


들어가며

“리눅스를 품은 윈도우”

윈도우 하위 시스템(Windows Subsystem for Linux) WSL 은 정말 놀라운 기능이다.
과거 윈도우와 리눅스를 하나의 컴퓨터에서 병행하여 사용하려면, 불편함을 감수하고 멀티 부팅 쓰던가 VM웨어 같은 소프트웨어를 사용해야만 했지만, WSL 출시 이후 우리는 편리하게 윈도우에서 리눅스를 사용할 수 있다.
GPU 가속 ML 학습또한 지원하는데, 이게 거의 네이티브와 비슷한 수준으로 데이터 과학자, ML 엔지니어에게 훌륭한 환경을 제공한다.

기능적으로도 놀랍지만, 운영체제를 만들어 판매하는 마이크로소프트가 오픈소스 운영체제를 품고 지원한다는 거 자체로도 충분히 놀랍다. 이는 2014년도에 CEO에 오른 “사티아 나델라”의 오픈소스 개방 정책의 일환으로 그가 취임한 이후 마이크로소프트는 리눅스 재단에 합류하고, 깃허브를 인수하는 등 오픈소스와 개발자에 친화적인 행보를 보였다.

취임 직후 한국에 방문해 개발자 컨퍼런스를 큰 규모로 열었었는데, 그때 한국의 중요성에 대해 이야기하던 그의 모습이 떠오른다.

2014년에 진행된 tech days 개발자 컨퍼런스에서 찍은 사진

필수 조건

  • Windows 10(빌드 19041 이상) 또는 Windows 11

설치하기

윈도우키 + S 를 눌러 “PowerShell” 을 검색, 관리자 권한으로 실행한다.

wsl --install 명령어를 사용
wsl --install 명령어는 WSL이 설치되지 않은 경우에만 정상적으로 작동한다.

PowerShell
PS C:\Users\f4ctor> wsl --install

설치 중: 가상 머신 플랫폼
가상 머신 플랫폼이(가) 설치되었습니다.
설치 중: Linux용 Windows 하위 시스템
Linux용 Windows 하위 시스템이(가) 설치되었습니다.
설치 중: Ubuntu
Ubuntu이(가) 설치되었습니다.
요청한 작업이 잘 실행되었습니다. 시스템을 다시 시작하면 변경 사항이 적용됩니다.

재부팅 후, 윈도우에 진입하면 아래와 같은 터미널을 마주할 수 있다.
username과 password를 입력해주자

Bash
Ubuntu이(가) 이미 설치되어 있습니다.
Ubuntu을(를) 시작하는 중...
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: 
New password:
Retype new password:
passwd: password updated successfully
작업을 완료했습니다.
Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

Welcome to Ubuntu 22.04.3 LTS (GNU/Linux 5.15.133.1-microsoft-standard-WSL2 x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage


This message is shown once a day. To disable it please create the
/home/f4ctor/.hushlogin file.

wsl 설치가 끝났다.
이왕 bash가 떠있으니, 테스트로 os 버전을 알아보자

Bash
f4ctor@Windows-PC:/home$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

사용하기

이제 기존 터미널을 닫고, 새로운 터미널을 열어보자.
wsl -l -v 또는 wsl --list --verbose 를 사용하면 모든 배포에 대한 자세한 정보를 표시해준다.
만약 실행중인 배포만 보고 싶다면 wsl -l --r 또는 wsl --list --running 을 사용하면 된다.

PowerShell
PS C:\Users\f4ctor> wsl -l -v
  NAME      STATE           VERSION
* Ubuntu    Stopped         2

PS C:\Users\f4ctor> wsl -l --r
실행 중인 배포가 없습니다.

이제 wsl 명령어를 사용하여 리눅스에 접근해보자.
wsl 명령어만 쳐도 괜찮지만, 사용자의 홈 경로에서 시작하기 위해 wsl --cd ~ 명령어를 사용해주자.

명령어경로
wsl/mnt/c/Users/f4ctor
wsl –cd ~/home/f4ctor
wsl –cd //
PowerShell
PS C:\Users\f4ctor> wsl --cd ~
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

f4ctor@Windows-PC:~$ pwd
/home/f4ctor

wsl에 관련된 기타 명령어는 wsl --help 명령어로 확인할 수 있다.

PowerShell
PS C:\Users\f4ctor> wsl --help
저작권(c) Microsoft Corporation. All rights reserved.
이 제품에 대한 개인 정보 보호 정보는 https://aka.ms/privacy를 방문하세요.

사용법: wsl.exe [인수] [옵션...] [CommandLine]

Linux 이진 파일을 실행하기 위한 인수:

    명령줄이 제공되지 않으면 wsl.exe는 기본 셸을 시작합니다.

    --exec, -e <CommandLine>
        기본 Linux 셸을 사용하지 않고 지정된 명령을 실행합니다.
...
...
...
    --unregister <Distro>
        배포를 등록 취소하고 루트 파일 시스템을 삭제합니다.

마치며

작업 관리자를 들어가 확인해 보면 🐧 펭귄 모양의 Windows Subsystem for Linux Service를 확인할 수 있다.
귀여운 🐧 펭귄과 함께 WSL에서 작업을 시작해 보자.

(ms learn) Linux용 Windows 하위 시스템이란?
(ms learn) WSL을 사용하여 Windows에 Linux를 설치하는 방법
(ms learn) Linux용 Windows 하위 시스템의 릴리스 정보
(github) Windows Subsystem for Linux (WSL) Documentation

You may also like...

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x