윈도우 하위 리눅스 wsl을 wsl2로 업데이트 한 이 후 문제점 및 장점 등에 대하여 적어보았습니다.



# 윈도우 10 하위 리눅스 2 업데이트
윈도우 10의 2004 업데이트 이 후 가능한 윈도우 하위 리눅스를 새로운 버전인 wsl 2로 업데이트를 진행하였습니다. 참고로 현재 두 대의 장비가 있지만 아직 하나의 pc는 업데이트는 진행되지 않습니다. 장치에 따라 업데이트가 가능한 경우가 있고 업데이트가 아직 불가능한 경우가 있습니다. 특히 노트북의 경우가 두드러집니다. 상황에 따라 소프트웨어를 최신 버전으로 업데이트 후 가능할 수 있으니 참고하세요.


! wsl 2를 사용해야 하는 이유는?
가장 큰 이유는 호환성이 높은 리눅스 환경의 구축입니다. 많은 개발자들이 Mac을 사용하는 이유 중 하나로 로컬 개발 환경에서 이전의 윈도우 하위 리눅스(wsl 1)를 사용한 리눅스 환경은 호환성이나 안전성 등을 생각하면 당연하게 Mac 개발 환경을 선호했었기 때문입니다. 하지만 wsl 2로 기대감이 올라갔죠.

그리고 무엇보다 속도가 매우 느렸습니다. 이것 외에도 Docker 등 어플리케이션의 지원 여부도 있습니다. 개인적으로 처음 wsl 2를 사용하고자 했던 이유는 리눅스의 Docker compose를 온전한 사용하기 위함이었습니다. wsl 2는 Docker를 비롯해 더 완벽한 리눅스(우분투)를 구축할 수 있기 때문입니다.


!! 잠깐 ~ wsl 현재 버전을 확인하려면?
만약 현재 설치된 버전을 확인하려면 wsl -l -v 명령어를 사용합니다.
wsl -l -v

// 출력 내용
  NAME STATE VERSION
* Ubuntu-18.04 Stopped 1

위의 경우 설치된 버전이 가장 마지막에 1로 나오는 것을 알 수 있죠. wsl 2를 사용하려면 위 명령어가 2로 나올 수 있도록 wsl 2를 설치해야 합니다.


! wsl 2의 장점은?
업데이트를 마치고 느낀 점 중 가장 큰 장점은 무엇일까요? 그건 바로 속도입니다. 즉 퍼포먼스의 큰 차이점을 느낄 수 있었습니다.

예를들어 로컬 환경으로 개발 환경을 구축했을 때 이 전 wsl 1 을 사용하면 웹팩에 번들링 또 빌드하는 과정에서 디스크IO를 읽거나 쓰기 위해서 굉장히 많이 시간이 소모되었습니다. 하지만 wsl 2 업데이트 이 후 놀랄만큼 큰 속도차이를 느낄 수 있었습니다.
번들링, 빌드 등등 디스크 읽고 쓰기 속도 매우 향상
생산성 측면에서 윈도우에 개발 환경을 구축한다면 wsl 2를 반드시 사용해야 될 것 같았습니다.



# 마치면서
기대가 컸던 wsl 2 업데이트였습니다. 설치까지 꽤 오랜 시간이 걸립니다. 일단 모든 업데이트를 진행해야만 순차적으로 wsl 2로 업데이트 할 수 있습니다.

업데이트를 마치고 잘 되던 MongoDB가 동작하지 않는 이슈 사항이 있었습니다. wsl 2 에서는 bind ip를 수정해야 한다는 글을 찾아서 localhost에서 ip로 변경해보았지만 동작하지 않더군요. 아무래도 윈도우 버전의 MongoDB 설치가 wsl 1과 달리 2에서는 상호 연결이 되지 않는 것 같더군요. 어쨌든 리눅스 버전에 새로 설치하니 잘 동작해서 이렇게 사용중이니 참고하시기 바랍니다.