리눅스/기초

window에서 wsl2 를 사용해 ubuntu 작업환경 구성하기

Jaden Park 2021. 11. 23. 01:20
개요: WSL 이란?
 
wsl2 ,Ubuntu 설치 & 설정
zsh 설치 & 설정
vscode 설치 & 설정

 


해당 내용은 윈도우즈10 환경을 기반으로 작성되었습니다.

 

개요: WSL 이란?

  • Linux용 Windows 하위 시스템 (윈도우 네이티브로 리눅스 실행을 위한 호환성 계층)
  • 개발자가 기존 가상 머신의 오버헤드 또는 듀얼 부팅 설정 없이 대부분의 명령줄 도구, 유틸리티 및 애플리케이션을 비롯한 GNU/Linux 환경을 수정하지 않고 Windows 에서 직접 실행 가능

 

 

WSL2 란?

  • Linux용 Windows 하위 시스템 아키텍처의 새로운 버전
  • Linux용 Windows 하위 시스템이 Windows에서 ELF64 Linux 이진 파일을 실행할 수 있게 해줌.
  • WSL2 의 주 목표는 파일 시스템 성능을 높이고 전체 시스템 호출 호환성을 추가하는 것 

 

 

기능 WSL1 WSL2
Windows와 Linux 통합
빠른 부팅 시간
작은 리소스 공간
관리 VM
전체 Linux 커널
전체 시스템 호출 호환성
현재 버전의 VMWare 및 VirtualBox로 실행
OS 파일 시스템 간 성능
Windows와 Linux 통합

WSL 1에서 Linux의 System Call을 Windows API로 변환하는 구조였다고 하면,

WSL 2에서는 Windows에 리눅스 커널을 올려버렸다고 함.

 

WSL1 은 API 변환과정을 거쳐 속도면에서 불리하고 일부 API는 변환이 불가능

하지만, WSL2 는 Linux 커널을 포함하기에 Linux의 모든 API를 지원

 

 


WSL2, Ubuntu 설치 & 설정

Step 01. Windows Terminal 설치하기

Microsoft Store 접속

검색 창에 "Windows Terminal" 검색 후 설치

 

 

 

설치가 됐다면 관리자 권한으로 실행해보기.

위와 같이 나오면 정상 설치 된 것.

 

 

 

Step 02. WSL 설치를 위한 사전 명령어 실행

해당 내용은 Windows에 Linux용 Windows 하위 시스템 설치 가이드 참고했음.

필요한 것이 있다면 공식 문서에서 확인

 

Windows 최신 버전이라면 아래 명령어로 간편하게 설치 가능.

(Windows 10 version 2004 and higher (Build 19041 and higher) or Windows 11)

wsl --install

 

하지만, 버전 관계없이 통상적으로 설치가능한 이전 방법을 소개하겠음.

 

다음 두개의 명령어를 차례로 실행

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

DISM은 윈도우 이미지와 관련된 조작을 위한 커맨드라인 명령어. 자세한 정보는 공식 문서의 정보를 참고

 

 

위와 같이 완료됐다면 성공.

아직은 wsl 명령어가 동작하지 않음.

재부팅 수행

 

 

재부팅 시 명령어가 동작하는 것을 확인할 수 있음.

 

 

Step 03. WSL2 커널 업데이트 패키지 설치 및 기본 버전으로 설정

WSL2 를 사용하기 위해 최신 커널 패키지를 업데이트. 

 

x64 머신용 최신 WSL2 Linux 커널 업데이트 패키지 해당 링크에서 다운받아 설치.

[작성일 기준 21/11/23 - 기간이 오래된 경우 공식 문서 참조.]

 

 

 

 

설치완료 후 WSL2를 기본버전으로 설정을 위해 PowerShell 을 열고 해당 명령어 실행

wsl --set-default-version 2

 

 

 

Step 04. 원하는 Linux 를 Microsoft Store 에서 배포 설치

Microsoft Store 를 열고 원하는 Linux 배포를 선택

 

2021/11/23 기준으로 지원하는 리눅스는 다음과 같음

 

 

해당 포스팅에서는 Ubuntu를 설치.

 

우분투 배포판 설치가 완료됐다면 시작을 눌러 사용자 정보를 등록

 

완료됐다면 PowerShell 에서 아래 명령어로 확인

wsl -l -v

 

우분투가 wsl2 버전으로 문제없이 동작하고 있는 것을 확인할 수 있음.

 

 

 


 

zsh 설치 & 설정

Step 01. zsh 설치

zsh 장점은 다양한 플러그인 생태계, Bash 호환성 등이 있음.

Mac에서도 Default가 카탈리나 이후 bash -> zsh 로 변경됌.

대세를 따르자..!

sudo apt-get install -y zsh

 

Step 02. default Shell을 zsh 로 변경

chsh -s /usr/bin/zsh

해당 명령 실행 후 새로운 터미널을 열어 변경내용을 확인

 

Step 03. Oh My Zsh 설치

자세한 내용은 Oh My Zsh 깃헙 확인

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

 

 

Step 04. 테마 변경

원하는 테마가 있다면 자율적으로 설치

좋은 테마 있으면 추후에 업로드 하겠음

nano ~/.zshrc
# robbyrussell -> agnoster 로 변경
...
ZSH_THEME="agnoster"
...

 

 

변경 완료 후 스크립트 바로 적용을 위해 아래 명령어 실행

source ~/.zshrc

 

 

Step 05. 폰트 변경

Powerline 글씨체가 아니라서 폰트가 깨지는 것을 확인할 수 있음

Meslo LG M Regular for Powerline 글씨체 다운 및 설치

 

설치 후 터미널 설정에서 글꼴 바꿔주기

색 구성표도 바꾸고 싶다면 바꾸기

 

 

Step 06. default terminal 를 Ubuntu로 바꾸기

 

 

새로운 터미널을 열면 적용된 것을 확인할 수 있음

 

필요에 따라서  black-void-zsh 커스텀 테마 확인

 

 


VSCODE 설치 & 설정

 

Step 01. VSCODE 설치

vscode 페이지에서 자신의 로컬 운영체제에 맞게 설치

 

 

 

Step 02. 확장 설치

vscode 설치가 완료되면 실행

확장에서 wsl 검색하여 "Remote-WSL" 설치

 

 

추가적으로 원하는 확장이 있다면 추가적으로 설치해도 됌.

 

설치 완료되면 왼쪽 하단에 WSL:Ubuntu 에 연결된 것을 확인할 수 있음

 

Step 03. VSCODE 터미널 폰트 설정

폰트를 Powerline 으로 하지 않으면 깨짐.

이전에 설치했던 폰트 "Meslo LG M for Powerline" 이름을 입력해줌.

 

 

세팅된 모습.