노트북을 바꿨다!🤩 5년 정도 써서 버벅거리길래 바꿔야지 생각만 하다가 드디어 실행에 옮겼다. 맥을 사고 싶기는 했지만 비싸고 굳이 내 수준에 필요없는 것 같아서 이번에도 윈도우로 했다. 어차피 WSL 통해서 우분투 가상머신을 설치해서 개발하면 되니까 별 상관은 없을 거라고 생각했다. MS에서 상세한 자습서도 제공해주고 이미 설치해본 적 있으니까 간단하게 설치할 수 있을 줄 알았는데 의외의 복병이 있었다. 바로 바보같은 나 자신... 이번 경험을 통해 나는 진짜 모르는 게 너무 많다는 것을 깨달았다. 그래서 어떻게 새 노트북 개발 환경을 세팅했는지 한 번 적어보고자 한다.
Windows Subsystem for Linux의 약자로, 윈도우에서 리눅스 환경을 사용할 수 있게 해주는 시스템이다.
다음은 MS 자습서에서 제공하는 영상에서는 설명하는 WSL로 할 수 있는 예시들이다.
WSL2는 WSL1의 최신 업데이트 버전인데, 이전 버전에 비해 달라진 점은 크게 두 가지이다.
i/o performace가 뭔지 몰라서 찾아보니 IOPS(Input/output operations per second)를 가지고 계산하는 인풋/아웃풋 성능인 것 같다. MS 자습서의 영상에서는 apt install
pip install
git clone
npm install
등의 작업을 할 때 WSL1에 비해 속도가 향상되었다고 설명하고 있다.
WSL1에서보다 더 많은 앱들을 WSL2에서 사용 가능하다고 한다. ex) 도커, FUSE
기타 다른 차이점은 공식 문서 참고
나는 여기서 WSL2를 설치하는 방법을 서술하고자 한다.
자습서를 보고 따라하면 된다(링크)
Powershell을 관리자 권한으로 실행해서 아래의 두 명령어를 입력한다.
# WSL 옵션 기능 사용하도록 설정
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 가상 머신 플랫폼 옵션 기능 사용하도록 설정
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
이제 WSL 설치가 완료되도록 컴퓨터를 다시 시작한다.
설치가 제대로 되었는지 확인하고 싶다면 아래의 명령어를 powershell에 입력하면 된다.
Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
위와 같이 뜨면 정상적으로 설치된 것이다.
공식문서에서 WSL2 커널 업데이트 패키지를 다운받아서 설치해야 한다.
(링크)
나는 어떤 종류의 머신인지 몰라서 자습서에 적힌 대로 Powershell에 systeminfo | find "System Type"
을 입력했는데 아무것도 뜨지 않았다. 여기서부터 뭔가 이상했는데... 그래서 설정 -> 시스템 -> 정보
로 가서 직접 확인했다.
그리고 이제 우분투를 설치할 건데, 그 전에 설치할 우분투 패키지의 배포 버전을 WSL2로 설정하는 명령어를 입력해준다.
wsl --set-default-version 2
그런데 나는 여기서 명령어를 입력하니까 Powershell이 wsl
이라는 명령어를 인식하지 못했다. 도대체 뭐가 문젠가 하고 아무리 찾아봐도 비슷한 오류를 찾을 수 없고 윈도우 업데이트가 안되어 있어서 그런가 싶어서 업데이트하고 재시작을 몇 번이나 해봤는데도 문제가 해결되지 않았다.
그러다 이 글을 읽고 문제가 뭔지 알게 되었다. 64비트 시스템을 사용 중이면서 32비트용 Powershell(x86)에 명령하고 있었던 것이다....ㅋㅋㅋㅋㅋ 와 진짜 나는 아무것도 모르고 있구나 싶었다. 일반 Powershell을 실행해서 wsl
명령어를 입력하니까 잘 실행이 되는 것을 확인할 수 있었다. 이렇게 새로운 걸 또 배웠다.
Microsoft store에 가서 우분투를 다운받고 설치한다.
(우분투 버전에 따라 정리된 링크)
설치를 완료하면 sudo 계정 이름과 비밀번호를 설정하라는 창이 뜬다. 설정하면 완료!
설치한 우분투의 배포 버전이 WSL1인지 WSL2인지 확인하고 싶다면 아래의 명령어를 입력하면 된다.
wsl -l -v
배포 버전이 2가 찍히면 WSL2로 배포된 것이다.
나는 vscode를 주로 사용하기 때문에 우분투 가상머신에서 vscode에 원격으로 접속하는 것까지 해줬다.
정말 간단하다.
remote development 확장팩을 설치한다. (링크)
여기에는 remote-ssh, remote-wsl, remote-containers가 포함되어 있다.
bash shell을 열고 아래의 명령어를 입력한다.
sudo apt update
code .
그럼 우분투 가상머신에서 vscode에 원격으로 접속 완료!
내가 시스템 환경을 잘 몰라서 시간을 많이 잡아먹어서 그렇지 wsl2를 통해 우분투를 설치하고 실행하는 것은 크게 어렵지 않고 시간이 오래 걸리는 일도 아니다. 이렇게 또 하나 배웠다 ㅋㅋ