Windows - WSL2로 Ubuntu 설치하기

full_accel·2020년 11월 29일
0
post-custom-banner

삽질의 추억

예전에는 웹 개발 공부를 하려면 APM(Apache, PHP, MySQL)이 기본 패키지였다. (요즘엔 Django, Node.js, Nginx, MongoDB 등등 옵션이 많아 졌다.)문제는 내 컴퓨터(Windows)에는 Apache, PHP, MySQL를 설치하기가 난해하다는 것이였다. bitnami WAMP 같은 패키지를 설치하면 윈도우에서도 APM 환경을 구축할 수는 있다. 그런데 구글링 해보면 관련 설명이 죄다 리눅스 쉘 기준으로 되어 있다. 그러면 그냥 리눅스 깔자라는 생각을 하게 된다.

과거에 윈도우에서 리눅스를 까는 초심자라면 아래의 루틴을 겪게되곤 했다.

  • 리눅스 깔자. 어떻게? "VMware 쓰면 윈도우에서도 리눅스 쓸 수 있다더라"는 말을 주워 듣는다.
  • VMware를 설치해야지. 어? 근데 유료네?
  • VMware Player라는 걸 쓰면 공짜고만! 이걸로 깔자. 찾아보니까 이걸로도 다 된데!
  • VMware Player를 설치했다. 별거 아니고만!
  • 리눅스 종류가 너무 많다. 뭘 설치하지? 찾아보니 CentOs가 좋단다. 이걸로 하자!
  • 근데 CentOs도 종류가 많다... 뭘로 하지? 음... 난 서버 돌릴거니까 server 버전으로 가자!
  • 리눅스 이미지를 다운받는다. 용량이 크고 서버는 느려서 시간이 좀 걸린다.
  • 리눅스 다 받았다! 설치해야지! 근데 어떻게 함?
  • 구글링 해가며 겨우 VMware 환경 만들었다. 이제 리눅스 이미지를 로드한다.
  • 근데 아까보다 더 난해하다. 리눅스 설치할 때 설정할게 왜 이리 많은거야?
  • 구글링 해가며 하나하나 누르다 보니 얼추 되가는 것 같다.
  • 설치 중에 root 비밀번호를 설정하란다. 비밀번호니까 나만 아는 빡센걸로 설정한다.
  • 겨우겨우 설치가 다 됐다. 아침부터 시작했는데 벌써 점심이다. 밥 먹고 와야지.
  • 밥 먹고 왔다. 오후부터 빡공해야지!
  • 리눅스에 접속했다. VMware 타고 들어가니까 동작이 좀 굼뜨다. 뭐 가상화니까 어쩔 수 없지. "윈도우로 리눅스 굴리는게 어디냐" 라고 생각한다.
  • 근데 이상하다. 까만 배경에 하얀 글씨만 나온다. 내가 생각한건 UI가 있는 윈도우 같은 예쁜 화면인데...
  • CentOs server 버전은 태생이 CLI란다...
  • 다 날리고 GUI 지원 되는 리눅스 버전으로 위의 과정 반복한다.(나중에 GUI로 전환하는 방법이 있다는 걸 알게되지만 때는 이미 늦었다.)
  • 겨우겨우 어떻게 설치는 했다.
  • 이것저것 해보는데 한글 입력이 안 된다. 귀찮지만 한글은 안 쓰기로 한다.
  • 패키지 설치하려면 apt-get 써야하는데 어? 아니 yum을 써야 되는건가? 구글링 할 때마다 말이 다 다르다.
  • 어? 패키지 설치가 왜 안되지? 으잉? 인터넷이 아예 안되네?
  • 구글링 해가며 네트워크 설정해서 이제 인터넷은 된다.
  • 이 명령어 저 명령어 다 쳐보면서 어떻게 겨우 APM을 설치하긴 했다.
  • 찾아보니 APM은 세세하게 설정 잡아 줄 게 많다.
  • 뭐 파일 수정할 때 vi를 쓰라고 한다. vi를 써보니 화면위에 대 환장 파티가 열린다.
  • 이것저것 누르고 구글링 해가며 겨우겨우 설정을 하긴 했다.
  • 근데 뭐가 잘 안된다. 이제 저녁 먹을 시간이다. 짜증의 쓰나미가 몰려온다. 밥 먹고 와서 마무리 하자.
  • 밥 먹고 왔다. 잘 안된다. 오늘은 고생했다. 내일 아침에 생각하자.
  • 아침 해가 밝았다. 컴퓨터를 키고 VMware를 키고 리눅스에 접속하려는데 root 비밀번호가 생각이 안난다.....
  • 다 날리고 위의 과정 처음부터 다시 반복한다. 그래도 한 번 해봤다고 어떻게 하긴 했다.
  • APM 설정 잡는데 뭐 하나 되는 게 없다.
  • VMware는 스냅샷이란걸로 현재 상태를 저장할 수 있다고 한다. "아, 그럼 게임 처럼 세이브하고 하다 망하면 세이브한 거 불러서 다시하면 되잖아! 여윽시 개발자들 똑똑하군"이라고 생각한다.
  • 근데 내가 설치한 VMware Player는 스냅샷 지원하지 않는다고 한다..... 딥빡의 쓰나미가....
  • 불꽃 구글링 해보니 VMware랑 라이벌인 Virtual Box 라는 녀석이 있는데 얘는 태생이 공짜에 스냅샷이 된다고 한다. 갈아 타자!
  • Virtual Box 설치하고 가상환경 설정하는데 얘는 또 VMware랑 비슷한 거 같으면서도 달라서 설정 잡기가 짜증난다...
  • 나랑 웹개발은 안 맞는 것 같다. 그만 하자...

Microsoft의 띵작 WSL

과거에 윈도우에서 가상 리눅스를 사용하려면 저 고생을 해야 했다. 그런데 Microsoft에서 WSL(Windows Subsystem for Linux)이라는 대놓고 리눅스를 지원하는 정책을 펴다 못해 자기네들 운영체제에 무료로 가상 리눅스를 탑재해 줬다.

이제 윈도우 사용자라면 그냥 클릭 몇 번으로 윈도우 안에 가상으로 동작하는 리눅스를 사용할 수 있다!

Windows10에 Ubuntu를 설치하자.

  • 설치 순서는 다음과 같다.
    1. Windows Terminal 설치
    2. WSL2 설정
    3. Ububtu 설치(정말 간단하다!)
    4. Ubuntu에 WSL2 적용

Windows Terminal 설치

Ubuntu를 설치하려면 전용 터미널 에뮬레이터인 Windows Terminal을 설치해야 한다. Windows Terminal은 기존의 CMD(커맨드 프롬프트)나 Powershell 대비 월등히 좋아진 기능들을 보유하고 있으며, 심지어 Microsoft 답지 않게 오픈소스 프로젝트(깃 레포)로 진행되었다.

시작에서 Microsoft Store 입력하여 스토어 들아간 뒤, Windows Terminal로 검색한 결과에서 클릭 클릭하여 설치 가능하다.

WSL2 설정

WSL은 버전 1이 있고 2가 있다. 여기서는 버전 2로 간다. 버전 2가 훨씬 안정적이고 기능도 더 많다.

우선 설치한 WIndwos Terminal을 관리자 권한으로 실행한다.

Windows Terminal의 powershell 에서 다음의 두 명령어를 하나씩 실행한다.

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

여기까지 했으면 재부팅을 한 번 해준다.

Ubuntu 설치

Windows Terminal 설치와 동일한 방식으로 Microsoft Store에서 Ubuntu로 검색한 뒤 클릭클릭하여 설치한다.

Ubuntu 터미널이 실행되면 사용자 이름과 패스워드를 설정해 준다.

이렇게 클릭 몇방으로 Windows에 Ubuntu 설치가 끝났다!

이제 설치된 Ubuntu에 WSL 버전 2만 적용하면 된다!

Ubuntu에 WSL 버전 2 적용하기

WSL 2 Linux 커널 업데이트 문서에 나와있는 대로 Linux 커널 업데이트 패키지를 다운로드하여 실행한다.

이후 Windows Terminal(powershell)을 키고 wsl의 버전을 확인해 본다.
아마 아래와 같을 것이다.

> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu          Running         1

아래의 명령어로 버전 2로 변경하자.

> wsl --set-version Ubuntu 2

이후 아래와 같이 출력되면 성공적으로 변경된 것이다.

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

만약 적용이 제대로 되지 않았다면 Ubuntu를 강제 종료하여 재실행한다.

> wsl -t Unbuntu

아래와 같이 설정하면 새로 설치되는 리눅스 배포판에 모두 WSL 버전 2를 적용할 수 있다.

> wsl --set-default-version 2

만약 이렇게까지 했는데도 wsl 버전 2가 적용되지 않는다면 현재 사용중인 컴퓨터가 하이퍼 바이저(Hyper-V)를 지원하는지 확인해 봐야 한다.

컴퓨터가 사용중인 CPU가 하이퍼바이저를 지원하는지 확인해 본다. 만약 지원하는 모델이라면 BIOS에 들어가서 하이퍼바이저를 활성화 시켜주면 된다.

Ubuntu 실행하기

Windows Terminal을 실행하고 상단 탭에서 아래쪽 화살표를 클릭하여 Ubuntu를 실행할 수 있다.

TIP: Windows Terminal

실행 단축키

윈도우키 + R 로 실행창을 연 다음에 "wt"를 입력하면 바로 Windows Terminal이 실행된다.

Windows Terminal 실행시 바로 Ubuntu 띄우기

Windows Terminal 실행 후 상단 탭의 아래쪽 화살표를 클릭하면 "설정" 메뉴가 있다. 클릭하면 윈도우 환경에 맞는 에디터로 설정 파일이 열린다.

여기서 defaultProfile을 Ubuntu의 guid로 수정한다.(Ubuntu로 검색하면 아래 스크린샷처럼 Ubuntu의 guid 값을 찾을 수 있다.) 저장하고 Window Terminal을 다시 실행하면 Ubuntu로 바로 접근한다.

profile
스스로 배운 것이 오래 간다.
post-custom-banner

1개의 댓글

comment-user-thumbnail
2022년 1월 24일

가정한 상황이 너무 와닿아서 공감하고 갑니다..

답글 달기