윈도우에 올린 리눅스, WSL2

정준혁
5 min readMay 7, 2019

--

VM 쓰면 되는 것 아니었어?

어느 정도 클라우드나 가상화를 알고 계신 분들은 윈도우에도 마음껏 리눅스를 쓸 수 있는 것이 당연하고, 이제 와서 되는 것처럼 제목을 써 놓는 것이 의아하신 분들이 계실 것입니다. 하지만, WSL 은 윈도우에서 가상화를 이용해서 리눅스를 제공하는 것이 아니며 무려, 마이크로소프트에서 직접 리눅스 환경을 제공해주는 도구입니다.

WSL 이 뭔데?

WSL 은 Windows Subsystem for Linux 의 약자로, 리눅스 환경 구동을 위한 윈도우의 부분 시스템입니다. 일반적인 가상화와는 달리 리눅스의 시스템 콜을 구현하기 위해 일종의 해석기를 사용하여 윈도우가 대신 리눅스의 시스템 콜을 실행해주었습니다. 즉, 윈도우가 리눅스의 탈을 쓰고 대신 명령을 실행해주는 것입니다. 아래는 WSL 의 개념도를 나타낸 이미지입니다.

WSL 개념도 (출처 — https://blogs.msdn.microsoft.com/wsl/2016/04/22/windows-subsystem-for-linux-overview/)

WSL 은 Microsoft Store 에서 리눅스를 검색하면 아래와 같이 페이지가 등장하여 쉽게 다운로드가 가능합니다. 물론, 바로 사용할 수 는 없고 윈도우에 추가 설정이 필요하지만 윈도우에 많은 변경을 가해보신 분들은 쉽게 적용이 가능하며, 처음이더라도 어렵지 않게 사용할 수 있습니다.

그럼 WSL2 는 또 뭐야?

WSL 2 는 WSL 의 큰 변화를 가져온 것이라고 할 수 있습니다. WSL 은 그 설계 구조상 오버헤드가 있을 수 밖에 없는 구조이기도 하며, 실제적으로 파일 I/O 문제와 리눅스 시스템 콜 호환성 문제가 존재하였으며, 데몬(혹은 서비스)을 실행할 수 없었습니다.

이러한 WSL 의 문제점을 없애기 위해 다시 VM 을 사용하게 되었습니다. 다만, 기존의 사용되던 VM 과는 다르게 매우 가벼우며, WSL 과 같이 윈도우의 사용자 공간을 그대로 사용할 수 있다고 합니다.

또한 VM 을 사용하게 되어 거기에 직접 리눅스 커널을 올린다고 합니다. 이를 위해 리눅스 커널을 가볍게 하기 위해 MS 가 직접 조정한다고 하며, 이 리눅스 커널은 윈도우와 마찬가지로 동일한 배포 환경을 이용하여 항상 최신의 리눅스 커널을 제공한다고 합니다. 이번에 제공되는 리눅스 커널은 4.19 버전을 이용하며, 조정된 리눅스의 소스 코드는 GitHub 을 통해 제공된다고 합니다.

리눅스 싫어하는 것 아니었어?

이 이야기를 하기 위해서는 많은 이야기를 할 필요가 있지만, 핵심만 말하자면 이제는 싫어하지 않습니다. 현재 리눅스는 MS 의 상품을 빛내는 요소중 하나이며, MS 의 노고가 들어가는 프로젝트이기도 합니다.

지금은 마이크로소프트가 리눅스를 사랑한다는 문구나 이미지, 표시가 어색하지 않을 정도입니다. 지금은 관심있는 분들이라면 MS 가 리눅스에 대해 많은 투자와 상품을 내놓는 것이 사랑한다는 표현이 어울릴 정도라고 생각할 것입니다.

다만, 반대되는 의견을 가진 사람도 있습니다. MS 가 리눅스를 사랑한다고 하지만 MS 도 결국 기업이며, 현재 MS 는 클라우드나 리눅스와 호환되는 자사 제품들을 이용하여 이익을 챙겨가는 만큼 투자를 하는 것이라는 시선도 있습니다.

MS 가 리눅스에 투자하고 있는 것도 사실이며, 리눅스를 통해 이득을 얻는 것도 사실입니다. 어떻게 볼지는 보는 사람에 달려있다고 할 수도 있습니다.

WSL 2 를 사용하고 싶은데…

아쉽게도 바로 제공되지는 않습니다. 발표는 한국 시각으로 5 월 7 일에 발표가 됐지만, 사용 가능 시기는 올 해 6 월 말이 될 것이라고 합니다. 그 때까지 기다리셔도 되고, WSL 1 과 2 의 업그레이드 및 다운그레이드는 자유롭게 가능할 것이라는 발표도 있었기 때문에 먼저 WSL 1 을 사용하는 것이 도움이 될 수도 있습니다.

마치며

WSL 은 윈도우에서도 가볍고 쉽게 리눅스 환경을 사용할 수 있게 하는 유용한 도구입니다. 최근 오픈 소스의 영향력이 확장되는 만큼 MS 도 개발자들의 요구를 맞춰주기 위해 많은 변화를 꾀하는 것이라고 볼 수도 있을 것 같습니다.

가능하다면 WSL 을 이용해 윈도우를 관리하는 재밌는 프로젝트를 할 수 있을지도 모르겠습니다.

영상

출처

--

--

정준혁

시스템 엔지니어로서 일하며, 관심있는 주제로 글을 쓰려고 한다