예전에는 웹 개발 공부를 하려면 APM(Apache, PHP, MySQL)이 기본 패키지였다. (요즘엔 Django, Node.js, Nginx, MongoDB 등등 옵션이 많아 졌다.)문제는 내 컴퓨터(Windows)에는 Apache, PHP, MySQL를 설치하기가 난해하다는 것이였다. bitnami WAMP 같은 패키지를 설치하면 윈도우에서도 APM 환경을 구축할 수는 있다. 그런데 구글링 해보면 관련 설명이 죄다 리눅스 쉘 기준으로 되어 있다. 그러면 그냥 리눅스 깔자라는 생각을 하게 된다.
과거에 윈도우에서 리눅스를 까는 초심자라면 아래의 루틴을 겪게되곤 했다.
과거에 윈도우에서 가상 리눅스를 사용하려면 저 고생을 해야 했다. 그런데 Microsoft에서 WSL(Windows Subsystem for Linux)이라는 대놓고 리눅스를 지원하는 정책을 펴다 못해 자기네들 운영체제에 무료로 가상 리눅스를 탑재해 줬다.
이제 윈도우 사용자라면 그냥 클릭 몇 번으로 윈도우 안에 가상으로 동작하는 리눅스를 사용할 수 있다!
Ubuntu를 설치하려면 전용 터미널 에뮬레이터인 Windows Terminal을 설치해야 한다. Windows Terminal은 기존의 CMD(커맨드 프롬프트)나 Powershell 대비 월등히 좋아진 기능들을 보유하고 있으며, 심지어 Microsoft 답지 않게 오픈소스 프로젝트(깃 레포)로 진행되었다.
시작에서 Microsoft Store 입력하여 스토어 들아간 뒤, Windows Terminal로 검색한 결과에서 클릭 클릭하여 설치 가능하다.
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
여기까지 했으면 재부팅을 한 번 해준다.
Windows Terminal 설치와 동일한 방식으로 Microsoft Store에서 Ubuntu로 검색한 뒤 클릭클릭하여 설치한다.
Ubuntu 터미널이 실행되면 사용자 이름과 패스워드를 설정해 준다.
이렇게 클릭 몇방으로 Windows에 Ubuntu 설치가 끝났다!
이제 설치된 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에 들어가서 하이퍼바이저를 활성화 시켜주면 된다.
Windows Terminal을 실행하고 상단 탭에서 아래쪽 화살표를 클릭하여 Ubuntu를 실행할 수 있다.
윈도우키 + R
로 실행창을 연 다음에 "wt"를 입력하면 바로 Windows Terminal이 실행된다.
Windows Terminal 실행 후 상단 탭의 아래쪽 화살표를 클릭하면 "설정" 메뉴가 있다. 클릭하면 윈도우 환경에 맞는 에디터로 설정 파일이 열린다.
여기서 defaultProfile
을 Ubuntu의 guid로 수정한다.(Ubuntu로 검색하면 아래 스크린샷처럼 Ubuntu의 guid 값을 찾을 수 있다.) 저장하고 Window Terminal을 다시 실행하면 Ubuntu로 바로 접근한다.
가정한 상황이 너무 와닿아서 공감하고 갑니다..