Posts WSL (Windows Subsystem for Linux) 맛보기 (feat. VS Code)
Post
Cancel

WSL (Windows Subsystem for Linux) 맛보기 (feat. VS Code)

Preview Image

여러가지로 정신없던 가운데 엄청 오랜만의 포스팅.. 너무 방치해두었다ㅠ 그래도 이제 약간 안정을 되찾게 되었어….

운영체제 환경 세팅

심기일전도 하고, 좀 화면 큰 노트북을 가지고 싶어서 하나 장만했다. 그랬으면 윈도도 깔고 환경을 구성해야겠지. 뭔가를 만들고 테스트해볼 운영체제 하면 역시 리눅스다. 새로 세팅하고자 하면 항상 설치해왔던 녀석이 VMware 또는 VirtualBox였다. 회사에서 핫산을 하고 있기에 라이선스를 따져서 GPL인 VirtualBox를 쓰는게 아무래도 안심이 되었지만.. 이거 넘나 번거롭고 불편했다. iso 받고 수동으로 설치해서 네트워크 구성하고 등등… VMware는 조금 더 편하긴 했으나, 역시 근본적으로 CentOS에 대한 지원이 좀 그렇다. 8은 이미 끝난 모양이고, 7도 오래가지는 못하는 모양.
Ubuntu로 무언가 하기에는, 내가 하는 플젝들의 고객사들은 거의 RHEL를 사용하더라. 게다가 버전대도 8.. 아직 발이 좁아서 대세가 무엇인지는 잘 모르겠지만, 급한 불을 끄고 싶은 덕분에 CentOS stream도 기웃거리고 8을 포크해서 개발하고 있다는 Rocky Linux도 기웃거려보다가 뭔가 흥미로운 녀석을 발견했다.


WSL(Windows Subsystem for Linux)

  • Linux용 Windows 하위 시스템이란?

https://docs.microsoft.com/ko-kr/windows/wsl/about


윈 11에서 설치했더니 바로 WSL2가 설치되었다. 이게 무엇인고 하면 윈도우에서 직접 리눅스 명령줄, 앱 등등을 사용하겠다는 건데, 앞서 세팅해왔던 VM과는 달리 따로 부팅같은 과정을 거치지 않는다고 한다.
뭔가.. 컨테이너 같은 건가? 라고 이해했으나, WSL2에서는 다시 VM의 성격을 띄는듯 했다. WSL1에서는 윈도우 NT 커널 위에서 일종의 번역 처럼 동작하는 과정이 있었던 반면 WSL2에서는 리눅스 커널을 포함하여 속도와 호환성을 확보하였다고 한다. Hyper-V를 활용해서 가상화할 때 리소스 사용도 적게 한다는데, 그래도 다시 가상화를 한 만큼 파일 시스템간의 호환성 문제는 가지고 있다는 듯?

주요 차이는 아래와 같다고 한다.

WSL1_vs_WSL2


활용

Windows 10 버전 2004 이상(빌드 19041 이상) 또는 Windows 11이 필요하다고 한다.
Powershell 들어가서 설치해보자.

1
wsl --install

이후 Microsoft Store에서 배포판을 쉽게 받을 수 있다.

우분투도 여러 버전을 제공하는 거 같고..

ubuntu

Red hat 계열의 Oracle linux도 배포판으로 나오는 듯! 아니 오라클이?

oracle_linux


  • Oracle Linux: A better alternative to CentOS

https://linux.oracle.com/switch/centos/


oracle_linux2

그 오라클에서 이렇게까지 이야기한다면…

실습용으로는 괜찮을지도? 앞으로는 이걸 통해서 운영체제 스터디를 병행해볼 예정.

Shell 접속은 기존에 VM을 사용하면 이미지 실행하고 putty나 MobaXterm 같은 녀석을 이용하여야 했었는데, 그냥 검색 메뉴에 떠서 누르면 되니 편리하다. 혹은 powershell 에서 그냥 wsl만 타이핑해도 기본 배포판 지정된 것으로 바로 접속한다. 이때 종료는 exit.

wsl_exit

깔려있는 리눅스 종류들은 아래 명령어로 확인할 수 있다. wsl --list --verbose

1
wsl -l -v

wsl_list

여기서 별 표시된 녀석이 기본 배포판이다.

특정 리눅스를 끄려면 아래처럼,

1
wsl -t OracleLinux_8_5

wsl_terminate

모두 끄려면 shutdown

1
wsl --shutdown

WSL 버전을 바꾸려면 아래와 같이

1
wsl --set-version OracleLinux_8_5 1

기타 사항은 레퍼런스를 참고하자.


  • WSL의 기본 명령

https://docs.microsoft.com/ko-kr/windows/wsl/basic-commands


VS Code에서 사용하기

나는 IDE로 VS Code를 이용하고 있는데, 여기서 Remote WSL 플러그인을 설치해서 이용할 수도 있다.

vscode_remotewsl01

여기서 접속을 시도할 수 있고,

vscode_remotewsl02

디렉토리 탐색과 터미널 사용도 가능하다.

vscode_remotewsl03

vscode_remotewsl04

다만 특정 os는 잘 안되는 모양.. Oracle Linux는 오류가 발생했다.

error_oracle

따라가서 찾아보니 Ubuntu도 어떤 버전에서는 그런 문제가 있다는걸로.. WSL2가 나온지 그렇게 오래되지 않았으니 그럴수도 있을거 같고 따라가보니 며칠 전까지 해당 문제에 대해서 활발히 이야기 중이더라.

아무튼 이렇게 간단한 맛보기 완료했다. 세팅이 되었으니 본격 공부 및 실습이다.

This post is licensed under CC BY 4.0 by the author.

아니 왜 사이트 갱신이 안돼? CSS / JS Cache Busting

OS 스터디를 시작하기 전에..