WSL 설치 및 최적화 가이드 – Windows에서 리눅스를 완벽하게 사용하는 방법

Photo of author

By 무위자연

WSL 설치 및 최적화 가이드

WSL(Windows Subsystem for Linux)을 사용하면 윈도우 환경에서 기존 가상 머신(Virtual Machine)의 무거운 오버헤드 없이 다양한 리눅스 배포판(Ubuntu, Debian, Arch Linux 등)을 직접 실행할 수 있습니다.

1. WSL이란 무엇인가

윈도우 10 이상 환경에서 리눅스 배포판을 네이티브에 가깝게 실행 할 수 있도록 해주는 기능이며 네트워크 연동 및 파일 공유도 쉽게 할 수 있도록 해줍니다.

2. 설치 전 필수 조건 확인

최신 기능을 사용하려면 사용 중인 OS 버전을 먼저 확인해야 합니다.

* 지원 OS: Windows 10 버전 2004 이상(빌드 19041 이상) 또는 Windows 11
* 가상화 확인: 작업 관리자(Ctrl+Shift+Esc) -> [성능] 탭에서 가상화: 사용’ 상태인지 확인합니다.

윈도우 가상화 상태 확인

 

3. 한 줄 명령어로 WSL 설치하기 (가장 빠른 방법)

Windows 11 및 최신 빌드에서는 복잡한 과정 없이 명령어 하나로 설치가 가능합니다.

1. PowerShell을 ‘관리자 권한’으로 실행합니다.


2. 아래 명령어를 입력합니다:

wsl –install

wsl 설치 명령어 입력

– 참고: 만약 설치 프로세스가 0%에서 멈춘다면 `wsl –install –web-download` 명령어를 시도해 보세요.

3. 설치가 완료되면 컴퓨터를 다시 시작합니다. 위의 명령은 전혀 설치되지 않은 경우에만 작동합니다.

 

4. 배포판 관리 및 추가 설치

1. wsl --list --online  입력하여 사용 가능한 배포판 목록을 확인합니다.

리눅스 배포판 목록

 

2. 배포판 설치 명령을 실행하세요

wsl 리눅스 배포판 설치 명령

 

3. 설치된 목록 및 버전 확인합니다. powershell에서 다음 명령을 실행합니다.

  • wsl –list –verbose

wsl설치 목록 및 버전

 

5. 실행 방법

실행 하는 방법은 2가지가 있습니다.

5.1 시작메뉴에서 실행

윈도우 키를 클릭 후 리눅스 배포판 직접 검색(ex ubuntu) 후 실행

wsl 실행 방법 1

5.2 터미널(powershell, 윈도우 터미널)에서 실행

– 터미널에서 다음과 같이 입력하면 간편하게 실행할 수도 있습니다.

wsl 실행 방법2

 

 

6. 리눅스 설정

6.1 리눅스(ubuntu) 최신상태 유지

리눅스 터미널 창에 다음 명령어를 입력하세요

  • sudo apt update && sudo apt upgrade -y

6.2 SSH(Secure SHell) server 설정

SSH는 암호화 기술을 사용하여 안전하지 않은 네트워크에서도 원격 컴퓨터에 안전하게 접속, 파일 전송 가능하게 해주는 네트워크 프로토콜입니다.

리눅스를 Host server로 사용하고 윈도우 환경에서 접속할 수 있도록 openssh server를 설치해줍니다. 다음 명령을 입력하세요

  • sudo apt install openssh-server

6.3 리눅스 IP 주소확인

다음 명령어를 입력합니다. 옵션인 I는 대문자입니다.

  • hostname -I

6.4 윈도우에서 접속 확인

ex) ip가 111.112.113.114 이고 리눅스 id가 username 일 경우터미널에서 다음과 같이 입력합니다.

  • ssh username@111.112.113.114

입력하면 인증관련 영문으로 나오는데, yes 입력하면 비밀번호(password) 입력하라는 문구가 나오는데, 입력해주면 windows 환경에서 바로 접속할 수 있습니다. 이 경우 wsl이 실행되고 있는 상태여야 합니다.

 

7. 마치며 – 개발 환경 최적화

설치가 완료되었다면 리눅스 계정과 암호를 설정하는 것으로 모든 준비가 끝납니다. 이후에는 VS Code의 Remote  extension을 설치하여 Windows 환경에서 Linux 시스템의 소스 코드를 수정하고 디버깅하는 워크플로우를 구축하면 됩니다.

댓글 남기기