[시작하기]

업무를 진행하다 보면 정말 많은 새로운 기술들에 대해 접하게 된다. WSL 또한 마찬가지로, 고객의 요청에 의해 알게 되었던 내용이지만 실제로 사용해보니 이만큼 강력한 툴도 없을 것 같다는 생각이 들어 글을 쓰게 되었다.

일단 가장 큰 중요한 장점

  1. 자원을 분리해서 사용하는게 아니라, 하나의 자원을 공유한다
  2. 별도의 기기나 가상머신을 이용하지 않고도 리눅스 운영체제에서 해야하는 일들을 할 수 있다

이 두가지만 하더라도 우리가 해야할 일들이 엄청나게 줄어드는 것을 알 수 있다. 매번 개발을 위해 새로운 환경을 구축하고, 서비스 한 이후 서비스를 위한 환경을 또 새로 구축하고,,,,, 너무나도 비 효율적인 일이었으나 이를 통해 한번에 해결할 수 있을 것으로 보인다. 아무튼! 개요부터 설치까지 스르륵 해보자.

1. WSL 개요

1-1 WSL 이란

현재 Microsoft 공식 문서를 참조하자면 아래와 같다.

Linux용 Windows 하위 시스템을 사용하면 개발자가 기존 가상 머신의 오버헤드 또는 듀얼 부팅 설정 없이 대부분의 명령줄 도구, 유틸리티 및 애플리케이션을 비롯한 GNU/Linux 환경을 수정하지 않고 Windows에서 직접 실행할 수 있습니다.
다음을 수행할 수 있습니다.
Microsoft Store에서 즐겨찾는 GNU/Linux 배포를 선택합니다.
grep, sed, awk 또는 다른 ELF-64 이진 파일과 같은 일반적인 명령줄 도구를 실행합니다.
.....

이렇게 보면 무슨 소리인가 싶다. 어찌되었건, 결론적으로 말하자면 아래와 같다.

  1. 우리가 흔히 사용하는 윈도우 환경에서 리눅스 어플리케이션을 실행하거나
  2. 리눅스 명령어를 이용해 윈도우 환경을 이용할 수 있다

정도로 가볍게 정리할 수 있을 것 같다.

1-2 WSL1 vs WSL2

두 가지 버전이 존재하는데, 평균적으로는 WSL2를 사용한다. 그 이유는 아래 표를 참조하면 될 듯 하다.

microsoft 공식 문서에서 표를 참조해왔다. 표를 보면 알겠지만, 마지막 항목인 'OS 파일 시스템 간 성능' 탭을 제외하면 WSL2가 훨씬 사용하기에 편하다는 것을 알 수 있다. 마지막 항목에 대한 내용은 아래와 같은 예외사항들이지만, 이는 정말 예외이므로 참고하기 바란다.

  • 윈도우 파일 시스템의 프로젝트 파일에 액세스 하고 이 파일을 리눅스 파일 시스템에 저장할 수 없는 경우
  • 직렬 포트 액세스를 해야 하는 경우(USB 디바이스는 제외)
  • 메모리가 많이 부족할 경우

이 외에도 있겠지만, 이까지만 소개하도록 한다.

1-3 WSL 기본 명령어

  • 설치

    wsl --install

    • 특정 Linux 배포판 설치
      wsl --install --distribution distribution_name (OR wsl --install -d distribution_name)
      ex) wsl --install -d Ubuntu-20.04
  • 사용 가능한 Linux 배포판 나열

    wsl --list --online (OR wsl -l -o)

  • 설치된 Linux 배포판 나열

    wsl --list --verbose (OR wsl -l -v)

  • WSL 버전 설정

    wsl --set-version distribution_name version_number
    ex) wsl --set-version Ubuntu 2

    • default 설정
      wsl --set-default-version version_number
      ex) wsl --set-default-version 2
  • 기본 Linux 배포판 설정

    wsl --set-default Distribution_name

  • WSL 상태 확인

    wsl --status

  • HELP

    wsl --help

  • 배포판 TAR로 내보내기

    wsl --export Distribution_name File_name

  • 배포판 가져오기

    wsl --import Distribution_name Install_Location File_name

  • 배포판 등록 취소 또는 제거

    wsl --unregister Distribution_name

생각보다는 많은 것 같지만, 한번쯤은 다 사용할 명령어들이니 눈여겨 보도록 하자.

[마무리]

이렇게 해서 우선 개요를 알아보긴 했다. 앞으로 남은 일은 실제로 해보는 것 뿐!
이 WSL은 시리즈로 만들어서 사용해보고, 기존 게시글들과 조합하여 실제로 운용도 해보는 것을 목표로 하는 중이다. 그러니 다음은 설치부터 시작.

**참조링크
Microsoft 공식 문서: https://docs.microsoft.com/ko-kr/windows/wsl/

profile
먹고살만큼개발하기를꿈꾸고있습니다

0개의 댓글