Skip to content

WSL 소개 및 설치

Published: at 11:03 PM

들어가며

이전 차시에서 Claude Code를 설치하고 로그인까지 완료했다. macOS와 Linux 사용자는 바로 사용할 수 있지만, Windows 사용자는 한 가지 더 준비할 것이 있다.

Claude Code는 macOS와 Linux에서 최적의 성능을 발휘한다. Windows에서도 Git Bash를 통해 사용할 수 있지만, 샌드박싱 같은 보안 기능은 Linux 환경에서만 완전히 동작한다. Windows에서 Linux 환경을 사용하는 방법이 바로 WSL(Windows Subsystem for Linux)이다.

이번 차시에서는 WSL이 무엇인지, WSL1과 WSL2가 어떻게 다른지 알아보고, 설치까지 진행한다.

WSL(Windows Subsystem for Linux)이란

WSL은 Windows에서 Linux를 직접 실행할 수 있게 해주는 기술이다. 듀얼 부팅이나 가상 머신 없이 Windows 안에서 Linux 명령줄 도구, 애플리케이션, 유틸리티를 사용할 수 있다.

WSL이 필요한 이유

Claude Code는 내부적으로 Bash 명령을 실행한다. macOS와 Linux에는 Bash가 기본으로 포함되어 있지만, Windows에는 없다. Windows에서 Claude Code를 사용하려면 두 가지 방법이 있다.

  1. Git Bash: Git for Windows를 설치하면 함께 제공된다. Claude Code가 내부적으로 Git Bash를 사용해서 명령을 실행한다.
  2. WSL: Windows 안에 Linux 환경을 설치한다. Linux 네이티브 환경에서 Claude Code를 실행할 수 있다.

Git Bash만으로도 Claude Code를 사용할 수 있다. 하지만 WSL을 사용하면 몇 가지 중요한 이점이 있다.

WSL의 주요 특징

WSL1과 WSL2 비교

WSL에는 두 가지 버전이 있다. WSL1과 WSL2는 아키텍처가 근본적으로 다르다.

아키텍처 차이

WSL1은 번역 레이어 방식이다. Linux 시스템 호출을 Windows 커널 호출로 변환한다. 실제 Linux 커널을 사용하지 않는다.

WSL2는 경량 가상 머신 방식이다. 실제 Linux 커널을 사용한다. Microsoft가 kernel.org 소스를 기반으로 WSL2에 최적화한 커널을 제공한다. 이 커널은 Windows Update를 통해 자동으로 업데이트된다.

기능 비교

특성WSL1WSL2
아키텍처번역 레이어실제 Linux 커널
시스템 호출 호환성일부 지원완전 지원
파일 시스템 성능 (Linux 파일)느림빠름
파일 시스템 성능 (Windows 파일)빠름느림
메모리 사용적음동적 할당
네트워킹호스트와 동일 IP별도 가상 IP (NAT)
Docker 지원
Claude Code 지원
Claude Code 샌드박싱

Claude Code에서 WSL2를 권장하는 이유

Claude Code 공식 문서에서는 WSL1과 WSL2 모두 지원한다고 명시하고 있다. 하지만 WSL2를 권장하는 이유가 있다.

샌드박싱: Claude Code의 샌드박스 기능은 OS 수준에서 파일 시스템과 네트워크를 격리한다. macOS에서는 Seatbelt, Linux에서는 bubblewrap을 사용한다. WSL2는 bubblewrap을 사용할 수 있지만, WSL1은 bubblewrap이 요구하는 커널 기능이 없어서 샌드박싱을 지원하지 않는다.

샌드박싱이 중요한 이유는 보안이다. 샌드박싱 없이 Claude Code를 사용하면 모든 Bash 명령이 시스템 전체에 접근할 수 있다. 샌드박싱을 활성화하면 Claude Code가 실행하는 명령이 지정된 디렉토리와 네트워크 도메인으로 제한된다.

시스템 호출 호환성: WSL2는 전체 Linux 커널을 포함하기 때문에 모든 Linux 시스템 호출을 지원한다. WSL1에서는 일부 시스템 호출이 동작하지 않아 특정 도구나 패키지가 실패할 수 있다.

파일 시스템 성능: 프로젝트 파일을 Linux 파일 시스템(/home/사용자명/ 하위)에 저장하면 WSL2에서 Git, npm, cmake 등의 성능이 크게 향상된다. git clone은 최대 20배, npm install은 2~5배 더 빠르다.

WSL1을 선택하는 경우

대부분의 경우 WSL2를 권장하지만, WSL1이 더 적합한 경우도 있다.

WSL 설치

필수 조건

방법 1: 한 줄 명령 (권장)

가장 간단한 설치 방법이다. PowerShell을 관리자 권한으로 실행하고 다음 명령을 입력한다.

wsl --install

이 명령은 다음을 자동으로 수행한다.

  1. WSL 기능 활성화
  2. 가상 머신 플랫폼 활성화
  3. Linux 커널 업데이트
  4. Ubuntu 기본 설치

설치가 완료되면 컴퓨터를 재시작한다. 재시작 후 Ubuntu가 자동으로 시작되고 사용자 이름과 비밀번호를 설정하라는 화면이 나온다.

PowerShell 관리자 권한으로 실행하는 방법:

  1. 시작 메뉴에서 “PowerShell” 검색
  2. “Windows PowerShell”을 마우스 오른쪽 클릭
  3. “관리자 권한으로 실행” 선택

방법 2: 수동 설치

wsl --install 명령이 동작하지 않는 이전 버전 Windows에서는 수동으로 설치한다.

# 1. WSL 기능 활성화
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

# 2. 가상 머신 플랫폼 활성화
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

위 명령 실행 후 컴퓨터를 재시작한다. 재시작 후 WSL2를 기본 버전으로 설정한다.

# 3. WSL2를 기본 버전으로 설정
wsl --set-default-version 2

그다음 Microsoft Store에서 원하는 Linux 배포판(Ubuntu 등)을 설치한다.

설치 후 초기 설정

재시작 후 Ubuntu(또는 선택한 배포판)가 처음 시작되면 설정 화면이 나타난다.

  1. 사용자 이름 입력: Linux에서 사용할 사용자 이름을 입력한다. Windows 사용자 이름과 다를 수 있다
  2. 비밀번호 입력: Linux 사용자 비밀번호를 설정한다. sudo 명령 실행 시 필요하다
  3. 비밀번호 확인: 동일한 비밀번호를 다시 입력한다

설정이 완료되면 Linux 명령줄 프롬프트가 표시된다.

Linux 배포판 선택

사용 가능한 배포판 확인

설치할 수 있는 배포판 목록을 확인한다.

wsl -l -o

주요 배포판

배포판특징권장 대상
Ubuntu기본 배포판, 초보자 친화적, 풍부한 문서대부분의 사용자
Debian안정적, 가벼움서버 경험자
Fedora최신 패키지최신 기능 선호
openSUSE엔터프라이즈 친화적기업 환경

Claude Code 사용이 목적이라면 Ubuntu를 권장한다. 문서와 커뮤니티 지원이 가장 풍부하고, Claude Code 공식 문서의 예시도 대부분 Ubuntu 기반이다.

특정 배포판 설치

기본 Ubuntu 대신 다른 배포판을 설치하려면:

# Ubuntu 22.04 설치
wsl --install -d Ubuntu-22.04

# Debian 설치
wsl --install -d Debian

설치 프로세스가 0%에서 멈추면 --web-download 옵션을 추가한다.

wsl --install --web-download -d Ubuntu-22.04

배포판 관리

설치된 배포판 확인

wsl -l -v

출력 예시:

  NAME            STATE           VERSION
* Ubuntu          Running         2
  Debian          Stopped         1

VERSION 열이 WSL 버전이다. *는 기본 배포판을 의미한다.

기본 배포판 변경

wsl --set-default Ubuntu-22.04

WSL 버전 변경

WSL1으로 설치된 배포판을 WSL2로 업그레이드할 수 있다.

# WSL1 → WSL2로 업그레이드
wsl --set-version Ubuntu 2

# WSL2 → WSL1로 다운그레이드
wsl --set-version Ubuntu 1

배포판 제거

wsl --unregister Ubuntu

이 명령은 해당 배포판의 모든 데이터를 삭제한다.

설치 확인

설치가 완료되면 WSL2가 정상적으로 동작하는지 확인한다.

버전 확인

wsl -l -v

VERSION 열이 2인지 확인한다.

WSL 시작

# 기본 배포판 시작
wsl

# 특정 배포판 시작
wsl -d Ubuntu-22.04

기본 명령 테스트

WSL 터미널에서 다음 명령을 실행해본다.

# Linux 버전 확인
cat /etc/os-release

# 현재 사용자 확인
whoami

# 홈 디렉토리 확인
pwd

# Windows C: 드라이브 접근
ls /mnt/c

모든 명령이 정상적으로 동작하면 WSL 설치가 완료된 것이다.

정리

핵심 요점

  1. WSL이란: Windows에서 Linux를 직접 실행할 수 있게 해주는 기술이다

  2. WSL2 권장: 실제 Linux 커널을 사용하고, 전체 시스템 호출 호환성과 향상된 파일 시스템 성능을 제공한다

  3. Claude Code 샌드박싱: WSL2에서만 지원된다. bubblewrap을 사용한 OS 수준 격리가 필요하기 때문이다

  4. 설치: wsl --install 한 줄로 WSL2와 Ubuntu가 설치된다

  5. 배포판: Ubuntu를 권장한다. Claude Code 문서와 호환성이 가장 좋다

설치 체크리스트

확인해볼 링크

다음 단계

다음 차시에서는 WSL 기본 사용법을 학습한다. WSL 시작과 종료, 기본 Linux 명령어, Windows와 Linux 간 파일 시스템 접근 방법을 다룬다.

참고 자료


Next Post
Claude Code 설치 및 초기 설정