AICosmus

Where tech meets the everyday — AI, fintech, swimming, and cars.
WSL2로 윈도우와 리눅스를 통합한 개발 환경

WSL2 설치부터 실전 활용까지 – 윈도우에서 리눅스 개발 환경 만드는 법

윈도우를 버리지 않아도 리눅스 개발이 가능합니다

개발 공부를 시작하거나 사이드 프로젝트를 진행하다 보면 “리눅스에서 하면 편한데…”라는 말을 자주 듣게 됩니다. 서버 배포 환경은 대부분 리눅스이고, Docker나 각종 개발 도구도 리눅스 기반에서 훨씬 자연스럽게 돌아갑니다. 그렇다고 맥북을 새로 사거나 듀얼 부팅을 설정하자니 부담이 큽니다.

이럴 때 딱 맞는 해답이 바로 WSL2(Windows Subsystem for Linux 2)입니다. 마이크로소프트가 공식적으로 제공하는 이 기능을 활용하면, 윈도우 안에서 진짜 리눅스 커널이 돌아가는 환경을 몇 분 만에 구축할 수 있습니다. 가상머신보다 가볍고, 윈도우 파일 시스템과 자연스럽게 연동되며, VS Code와의 궁합도 완벽합니다.

이 글에서는 WSL2를 처음 설치하는 과정부터, 실무 개발 환경을 세팅하고, 일상적인 개발 워크플로우에 녹여내는 방법까지 하나씩 안내합니다. 윈도우 사용자라면 이 가이드 하나로 리눅스 개발 환경에 대한 고민을 깔끔하게 해결할 수 있습니다.

WSL2 내부 아키텍처 구조도

WSL2가 뭔가요? 기존 가상머신과 뭐가 다른가요

WSL2의 핵심 개념

WSL2는 “Windows Subsystem for Linux”의 두 번째 버전입니다. 이름 그대로 윈도우 운영체제 위에서 리눅스를 실행할 수 있게 해주는 기능인데, 단순한 호환 레이어가 아니라 실제 리눅스 커널이 경량 가상화 기술 위에서 돌아갑니다.

WSL1은 리눅스 시스템 콜을 윈도우 NT 커널 호출로 번역하는 방식이었습니다. 호환성에 한계가 있어서 Docker 같은 도구가 제대로 작동하지 않는 경우가 많았습니다. WSL2는 이런 문제를 완전히 해결했습니다. 마이크로소프트가 직접 컴파일한 리눅스 커널이 Hyper-V 기반의 경량 유틸리티 VM 위에서 실행되기 때문에, 네이티브 리눅스와 거의 동일한 호환성을 제공합니다.

VirtualBox나 VMware와의 차이

“그냥 VirtualBox에 우분투 깔면 되지 않나?”라는 의문이 들 수 있습니다. 물론 가능하지만, WSL2는 전통적인 가상머신과 비교해 몇 가지 결정적인 차이가 있습니다.

  • 부팅 속도: WSL2는 터미널을 열면 1~2초 만에 리눅스 셸이 뜹니다. VirtualBox는 운영체제 부팅에 수십 초가 걸립니다.
  • 메모리 효율: WSL2는 필요한 만큼만 메모리를 동적으로 할당하고 반환합니다. 전통적인 VM은 설정한 만큼의 메모리를 고정으로 점유합니다.
  • 파일 시스템 통합: WSL2 안에서 /mnt/c/ 경로로 윈도우 C 드라이브에 바로 접근할 수 있고, 반대로 윈도우 탐색기에서 \\wsl$ 경로로 리눅스 파일에 접근할 수 있습니다.
  • 네트워크 통합: WSL2의 네트워크는 윈도우와 자연스럽게 연결됩니다. localhost로 WSL2 안의 개발 서버에 접근할 수 있어서, 별도 네트워크 설정이 거의 필요 없습니다.
  • 클립보드 공유: 윈도우에서 복사한 텍스트를 WSL2 터미널에 바로 붙여넣기할 수 있고, 그 반대도 됩니다.

정리하면, WSL2는 “윈도우 안에 리눅스가 자연스럽게 녹아든” 환경입니다. 두 운영체제를 왔다 갔다 하는 게 아니라, 하나의 데스크톱 안에서 동시에 쓰는 느낌에 가깝습니다.

어떤 사람에게 WSL2가 필요한가요

WSL2는 다음과 같은 상황에 있는 분들에게 특히 유용합니다.

  • 웹 개발을 하면서 Node.js, Python, Ruby 같은 런타임을 리눅스 환경에서 쓰고 싶은 분
  • Docker를 윈도우에서 가볍게 돌리고 싶은 분
  • AWS, GCP 같은 클라우드 서버를 다루면서 로컬에서도 같은 환경으로 연습하고 싶은 분
  • 셸 스크립트(bash)를 작성하고 테스트해야 하는 분
  • Git, SSH, cron 같은 리눅스 기본 도구를 자유롭게 쓰고 싶은 분
  • 맥북을 사기엔 예산이 부담되지만 유닉스 계열 개발 환경이 필요한 분

WSL2 설치하기 – 5분이면 충분합니다

사전 요구사항 확인

WSL2를 설치하기 전에 몇 가지만 확인하면 됩니다.

  • 윈도우 버전: Windows 10 버전 2004(빌드 19041) 이상 또는 Windows 11이면 됩니다. 요즘 윈도우를 쓰고 계신다면 거의 대부분 해당됩니다.
  • 가상화 지원: BIOS에서 가상화(VT-x 또는 AMD-V)가 활성화되어 있어야 합니다. 대부분의 PC에서 기본적으로 켜져 있지만, 혹시 설치 중 오류가 나면 BIOS 설정을 확인해보세요.

한 줄 명령어로 설치하기

가장 간단한 설치 방법입니다. 관리자 권한으로 PowerShell을 열고 다음 명령어 하나만 입력하세요.

wsl --install

이 명령어 하나가 다음의 모든 작업을 자동으로 처리합니다.

  • WSL 기능 활성화
  • 가상 머신 플랫폼 활성화
  • 최신 리눅스 커널 다운로드
  • 기본 배포판(Ubuntu) 설치

설치가 완료되면 PC를 재부팅하라는 메시지가 나옵니다. 재부팅 후 자동으로 Ubuntu 초기 설정 화면이 뜨는데, 여기서 사용할 사용자 이름과 비밀번호를 설정합니다. 이 계정은 WSL2 내부에서만 사용되는 리눅스 계정이므로, 윈도우 계정과 다르게 설정해도 됩니다.

다른 배포판을 설치하고 싶다면

Ubuntu 말고 다른 리눅스 배포판을 쓰고 싶은 경우에도 간단합니다. 먼저 설치 가능한 배포판 목록을 확인합니다.

wsl --list --online

그러면 Ubuntu, Debian, openSUSE, Kali Linux, Alpine 등 여러 배포판이 표시됩니다. 원하는 배포판을 지정해서 설치할 수 있습니다.

wsl --install -d Debian

여러 배포판을 동시에 설치하는 것도 가능합니다. 프로젝트마다 다른 배포판을 쓰거나, 테스트 용도로 여러 환경을 유지하는 데 유용합니다.

설치 확인하기

설치가 잘 되었는지 확인하려면 PowerShell에서 다음 명령어를 입력합니다.

wsl -l -v

이 명령어는 설치된 배포판 목록과 각각의 WSL 버전, 실행 상태를 보여줍니다. VERSION 열에 2가 표시되면 WSL2로 정상 설치된 것입니다. 만약 1로 표시된다면 다음 명령어로 변환할 수 있습니다.

wsl --set-version Ubuntu 2

WSL2 설치 명령어 실행 화면

Windows Terminal로 터미널 환경 꾸미기

왜 Windows Terminal인가요

WSL2를 설치하면 기본 콘솔에서도 리눅스를 쓸 수 있지만, Windows Terminal을 함께 사용하면 경험이 완전히 달라집니다. Windows Terminal은 마이크로소프트가 만든 현대적인 터미널 애플리케이션으로, 탭 기능, 화면 분할, GPU 가속 렌더링, 풍부한 커스터마이징을 지원합니다.

Microsoft Store에서 “Windows Terminal”을 검색해 설치하면 됩니다. Windows 11에는 기본으로 탑재되어 있습니다.

기본 프로필 설정하기

Windows Terminal을 열면 상단 탭 옆의 드롭다운 메뉴에 PowerShell, 명령 프롬프트, 그리고 설치한 WSL 배포판이 모두 표시됩니다. 매번 드롭다운에서 Ubuntu를 선택하는 게 번거롭다면, 설정에서 기본 프로필을 Ubuntu로 변경하면 됩니다.

설정 방법은 간단합니다. 설정(Ctrl+,) → 시작 → 기본 프로필에서 Ubuntu를 선택하면 됩니다. 이제 Windows Terminal을 열 때마다 바로 리눅스 셸이 뜹니다.

화면 분할 활용하기

Windows Terminal의 가장 유용한 기능 중 하나가 화면 분할입니다.

  • Alt+Shift+D: 현재 탭을 자동으로 분할합니다
  • Alt+Shift+마이너스(-): 수평 분할
  • Alt+Shift+플러스(+): 수직 분할
  • Alt+방향키: 분할된 패널 간 이동

한쪽에서는 코드를 편집하고, 다른 쪽에서는 서버를 실행하고, 또 다른 패널에서는 Git 작업을 하는 식으로 활용하면 생산성이 크게 올라갑니다.

테마와 폰트 꾸미기

터미널을 오래 들여다보는 개발자에게 시각적 편안함은 중요합니다. Windows Terminal은 풍부한 커스터마이징 옵션을 제공합니다.

컬러 테마 변경은 설정 → 색 구성표에서 할 수 있습니다. 기본 제공되는 One Half Dark, Tango Dark 등도 괜찮지만, 커뮤니티에서 만든 Catppuccin, Dracula, Gruvbox 같은 인기 테마를 JSON 설정 파일에 직접 추가하는 것도 가능합니다.

폰트는 개발용 폰트인 Nerd Font 계열을 추천합니다. Nerd Font는 일반 코딩 폰트에 아이콘 글리프가 추가된 폰트로, 나중에 설정할 Oh My Zsh 테마에서 아이콘이 깨지지 않고 예쁘게 표시됩니다. 인기 있는 선택지로는 FiraCode Nerd Font, JetBrains Mono Nerd Font, MesloLGS NF 등이 있습니다.

폰트 설치 후 Windows Terminal 설정 → 프로필 → Ubuntu → 모양 → 글꼴에서 해당 폰트를 선택하면 적용됩니다.

Zsh과 Oh My Zsh로 셸 업그레이드하기

Ubuntu의 기본 셸은 bash이지만, Zsh(Z Shell)로 바꾸면 자동 완성, 히스토리 탐색, 플러그인 생태계 등에서 훨씬 편리한 경험을 얻을 수 있습니다.

먼저 Zsh을 설치합니다.

sudo apt update && sudo apt install zsh -y

기본 셸을 Zsh로 변경합니다.

chsh -s $(which zsh)

터미널을 다시 열면 Zsh 초기 설정 화면이 나타납니다. 여기서 Oh My Zsh를 설치하면 테마, 플러그인을 손쉽게 관리할 수 있습니다.

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

설치가 끝나면 ~/.zshrc 파일에서 테마와 플러그인을 설정할 수 있습니다. 추천 플러그인 조합은 다음과 같습니다.

  • zsh-autosuggestions: 이전에 입력한 명령어를 흐릿한 텍스트로 제안해줍니다. 방향키 오른쪽으로 바로 완성됩니다.
  • zsh-syntax-highlighting: 명령어를 입력할 때 실시간으로 문법 하이라이팅을 해줍니다. 올바른 명령어는 초록색, 잘못된 명령어는 빨간색으로 표시됩니다.
  • z: 자주 가는 디렉토리를 기억해서 z project처럼 짧은 키워드로 바로 이동할 수 있게 해줍니다.

이 플러그인들을 추가하면 터미널 작업 효율이 체감상 두 배는 올라갑니다.

VS Code와 WSL2 연동 – 최고의 개발 경험

Remote – WSL 확장 설치

WSL2와 가장 찰떡궁합인 에디터는 단연 VS Code입니다. VS Code의 “WSL” 확장을 설치하면, 에디터는 윈도우에서 실행되지만 파일 탐색, 터미널, 디버거, 확장 프로그램 실행은 모두 WSL2 리눅스 환경에서 이루어집니다.

설치 방법은 간단합니다.

  • VS Code에서 Ctrl+Shift+X로 확장 마켓플레이스를 엽니다.
  • “WSL”을 검색하고 Microsoft가 만든 확장을 설치합니다.

설치 후 WSL2 터미널에서 원하는 프로젝트 폴더로 이동한 뒤 code .을 입력하면, VS Code가 자동으로 WSL 모드로 열립니다. 좌측 하단에 “WSL: Ubuntu” 같은 표시가 나타나면 성공입니다.

왜 이 방식이 좋은가요

이 구조의 장점은 “에디터 UI는 윈도우의 쾌적함, 실행 환경은 리눅스의 호환성”을 동시에 얻는다는 것입니다.

  • 파일 시스템 성능이 뛰어납니다. 프로젝트 파일을 WSL2의 리눅스 파일 시스템(~/projects 등)에 두면, /mnt/c/를 통해 윈도우 파일 시스템에 접근하는 것보다 I/O 속도가 3~5배 빠릅니다.
  • VS Code의 통합 터미널이 자동으로 WSL2 셸을 사용합니다. 별도로 터미널을 전환할 필요가 없습니다.
  • Python, Node.js 등 런타임의 경로 문제가 없습니다. WSL2에 설치된 런타임을 에디터가 바로 인식합니다.
  • Git도 WSL2의 Git을 사용하므로, 줄바꿈(LF/CRLF) 문제가 발생하지 않습니다.

프로젝트 파일은 어디에 두어야 할까요

WSL2 사용 시 가장 흔한 실수가 프로젝트 파일을 윈도우 파일 시스템(/mnt/c/Users/...)에 두는 것입니다. 이렇게 하면 파일 I/O가 느려지고, 파일 감시(watch) 기능이 제대로 작동하지 않아 핫 리로드가 안 되는 문제가 생깁니다.

프로젝트 파일은 반드시 WSL2의 리눅스 파일 시스템에 두세요. 홈 디렉토리 아래에 작업 폴더를 만드는 것을 추천합니다.

mkdir -p ~/projects && cd ~/projects

윈도우 탐색기에서 이 폴더에 접근하고 싶다면, 주소창에 \\wsl$\Ubuntu\home\사용자명\projects를 입력하면 됩니다. 또는 WSL2 터미널에서 explorer.exe .을 입력하면 현재 디렉토리가 윈도우 탐색기로 열립니다.

VS Code에서 WSL2 원격 개발 화면

WSL2에서 실전 개발 환경 세팅하기

Node.js 개발 환경

웹 개발자라면 Node.js 설치가 필수입니다. WSL2에서는 nvm(Node Version Manager)을 사용해 Node.js를 관리하는 것이 가장 좋습니다. 프로젝트마다 다른 Node.js 버전이 필요한 경우가 많기 때문입니다.

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

터미널을 재시작한 뒤 원하는 Node.js 버전을 설치합니다.

nvm install --lts

이렇게 하면 최신 LTS 버전이 설치됩니다. node -vnpm -v로 정상 설치를 확인할 수 있습니다. 프로젝트별로 다른 버전이 필요하면 nvm install 18, nvm use 18 같은 명령어로 간편하게 전환할 수 있습니다.

Python 개발 환경

Python도 마찬가지로 버전 관리가 중요합니다. pyenv를 사용하면 여러 Python 버전을 깔끔하게 관리할 수 있습니다.

먼저 빌드 의존성을 설치합니다.

sudo apt install -y build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev curl libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

그다음 pyenv를 설치합니다.

curl https://pyenv.run | bash

설치 후 안내에 따라 ~/.zshrc에 환경 변수를 추가하고, 원하는 Python 버전을 설치합니다.

pyenv install 3.12
pyenv global 3.12

Docker 연동하기

WSL2의 가장 강력한 활용 중 하나가 Docker입니다. Docker Desktop을 설치할 때 “Use the WSL 2 based engine” 옵션을 체크하면, Docker 엔진이 WSL2 위에서 네이티브로 실행됩니다. Hyper-V 기반보다 성능이 좋고 메모리 사용량도 적습니다.

Docker Desktop 설치 후 Settings → Resources → WSL Integration에서 사용할 배포판을 활성화하면, WSL2 터미널에서 바로 docker 명령어를 쓸 수 있습니다.

하지만 Docker Desktop의 라이선스 정책이 부담된다면, WSL2 안에서 Docker Engine을 직접 설치하는 방법도 있습니다.

sudo apt install docker.io -y
sudo usermod -aG docker $USER

이 방법을 사용하면 Docker Desktop 없이도 WSL2에서 Docker를 완전히 활용할 수 있습니다. 개인 사용이나 학습 목적이라면 이 방식이 더 가볍고 깔끔합니다.

Git 설정 최적화

WSL2에서 Git을 사용할 때 몇 가지 설정을 해두면 편리합니다.

git config --global user.name "내 이름"
git config --global user.email "내 이메일"
git config --global core.autocrlf input

특히 core.autocrlf input 설정이 중요합니다. 이 설정은 커밋할 때 CRLF를 LF로 변환하고, 체크아웃할 때는 변환하지 않습니다. 리눅스 환경에서 작업하면서 윈도우 쪽 도구와 파일을 공유할 때 줄바꿈 문제를 방지해줍니다.

GitHub이나 GitLab의 인증은 SSH 키를 사용하는 것을 추천합니다.

ssh-keygen -t ed25519 -C "내 이메일"

생성된 공개키(~/.ssh/id_ed25519.pub)를 GitHub 설정의 SSH Keys에 등록하면, 매번 비밀번호를 입력하지 않아도 됩니다.

데이터베이스 실행하기

개발 중 로컬 데이터베이스가 필요한 경우도 많습니다. WSL2에서는 PostgreSQL, MySQL, Redis 같은 데이터베이스를 직접 설치하거나, Docker를 통해 실행할 수 있습니다.

Docker 방식이 관리가 더 편합니다. 프로젝트마다 독립적인 데이터베이스를 띄우고, 안 쓸 때는 컨테이너를 중지하면 되니까요.

docker run -d --name mydb -e POSTGRES_PASSWORD=mypassword -p 5432:5432 postgres:16

이 한 줄이면 PostgreSQL 16이 실행되고, WSL2와 윈도우 양쪽에서 모두 localhost:5432로 접속할 수 있습니다.

WSL2 성능 최적화와 자원 관리

메모리 사용량 제한하기

WSL2의 유일한 단점이라면, 기본 설정에서 시스템 메모리를 상당량 가져간다는 점입니다. WSL2는 기본적으로 전체 시스템 메모리의 50% 또는 8GB 중 작은 값까지 사용할 수 있는데, 메모리가 16GB인 PC에서 이러면 윈도우 쪽이 버벅일 수 있습니다.

이를 해결하려면 윈도우 사용자 폴더에 .wslconfig 파일을 만들어 제한을 걸면 됩니다. 윈도우의 %USERPROFILE% 폴더(보통 C:\Users\사용자명)에 .wslconfig 파일을 만들고 다음과 같이 작성합니다.

[wsl2]
memory=4GB
processors=4
swap=2GB

이 설정은 WSL2가 최대 4GB 메모리, 4개 CPU 코어, 2GB 스왑을 사용하도록 제한합니다. 본인의 PC 사양에 맞게 조정하세요. 변경 후 wsl --shutdown을 실행하고 다시 WSL2를 열면 적용됩니다.

디스크 공간 회수하기

WSL2는 가상 디스크(VHDX 파일)를 사용하는데, 파일을 삭제해도 가상 디스크 크기가 자동으로 줄어들지 않습니다. 시간이 지나면서 불필요하게 커질 수 있습니다. 이럴 때는 다음 명령어로 디스크를 압축할 수 있습니다.

먼저 WSL을 종료합니다.

wsl --shutdown

그다음 PowerShell에서 다음 명령어를 실행합니다.

Optimize-VHD -Path "$env:LOCALAPPDATA\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState\ext4.vhdx" -Mode Full

경로는 설치된 배포판에 따라 다를 수 있으므로, 해당 폴더에서 확인해보세요. Hyper-V가 활성화되어 있지 않다면 diskpartcompact vdisk 명령을 사용할 수도 있습니다.

WSL2 자동 시작과 종료

WSL2는 터미널을 닫아도 백그라운드에서 계속 실행될 수 있습니다. 메모리를 아끼고 싶다면 사용하지 않을 때 명시적으로 종료하는 습관을 들이세요.

wsl --shutdown

이 명령어는 모든 WSL 인스턴스를 종료합니다. 다음에 터미널을 열면 자동으로 다시 시작됩니다.

.wslconfig에 유휴 시간 후 자동 종료를 설정할 수도 있습니다.

[wsl2]
vmIdleTimeout=300000

이 설정은 5분(300,000밀리초) 동안 사용하지 않으면 자동으로 WSL2를 종료합니다.

실전 활용 팁 – 이것까지 알면 고수입니다

WSL2에서 GUI 앱 실행하기(WSLg)

Windows 11 또는 최신 Windows 10에서는 WSLg(WSL GUI)가 기본 지원됩니다. 즉, 리눅스 GUI 애플리케이션을 WSL2에서 바로 실행하면 윈도우 데스크톱에 창이 떠오릅니다. X 서버를 별도로 설치할 필요가 없습니다.

예를 들어 리눅스용 파일 관리자 Nautilus를 설치하고 실행해볼 수 있습니다.

sudo apt install nautilus -y
nautilus .

이 기능은 리눅스 전용 개발 도구(예: GIMP, Wireshark, GUI 테스트 도구 등)를 윈도우에서 자연스럽게 쓸 수 있게 해줍니다.

systemd 지원 활용하기

최신 WSL2는 systemd를 공식 지원합니다. 이 덕분에 systemd에 의존하는 서비스들(snap, Docker 데몬 자동 시작 등)을 네이티브 리눅스처럼 관리할 수 있습니다.

systemd를 활성화하려면 WSL2 안에서 /etc/wsl.conf 파일을 편집합니다.

[boot]
systemd=true

wsl --shutdown 후 다시 시작하면 적용됩니다. 이제 systemctl 명령어를 사용해 서비스를 관리할 수 있습니다.

윈도우 명령어와 리눅스 명령어 함께 쓰기

WSL2의 숨은 강점 중 하나는 윈도우 실행 파일을 리눅스 셸에서 직접 호출할 수 있다는 것입니다.

  • explorer.exe . – 현재 디렉토리를 윈도우 탐색기로 엽니다
  • clip.exe – 리눅스 출력을 윈도우 클립보드로 보냅니다 (예: cat ~/.ssh/id_ed25519.pub | clip.exe)
  • cmd.exe /c start https://google.com – 윈도우 기본 브라우저로 URL을 엽니다
  • powershell.exe -c "Get-Process" – PowerShell 명령어를 실행합니다

반대로 윈도우의 PowerShell이나 명령 프롬프트에서 wsl 명령어로 리눅스 명령을 실행할 수도 있습니다.

wsl grep "error" /var/log/syslog

이런 양방향 호출 덕분에 두 운영체제의 장점을 자유롭게 조합할 수 있습니다.

포트 포워딩과 네트워크 접근

WSL2에서 개발 서버를 실행하면(예: React 개발 서버가 3000번 포트에서 실행), 윈도우 브라우저에서 localhost:3000으로 바로 접근할 수 있습니다. 최신 WSL2에서는 이 포트 포워딩이 자동으로 이루어집니다.

같은 네트워크의 다른 기기(예: 스마트폰)에서 개발 서버에 접근하고 싶다면, WSL2의 개발 서버를 0.0.0.0으로 바인딩하고 윈도우 방화벽에서 해당 포트를 열어야 합니다.

백업과 복원

WSL2 환경을 열심히 세팅한 뒤에는 백업을 해두는 것이 좋습니다. 나중에 PC를 포맷하거나 다른 PC로 옮길 때 처음부터 다시 설정하는 수고를 덜 수 있습니다.

wsl --export Ubuntu ubuntu-backup.tar

이 명령어는 현재 Ubuntu 환경 전체를 하나의 tar 파일로 내보냅니다. 복원할 때는 다음과 같이 합니다.

wsl --import Ubuntu-Restored C:\wsl\ubuntu-restored ubuntu-backup.tar

이렇게 하면 새로운 이름으로 배포판이 등록되고, 기존 환경을 그대로 사용할 수 있습니다.

WSL2 개발 워크플로우 순서도

자주 겪는 문제와 해결 방법

DNS 해석이 안 될 때

가끔 WSL2에서 apt updatecurl 명령이 실패하면서 호스트 이름을 찾을 수 없다는 오류가 나는 경우가 있습니다. 이는 WSL2의 DNS 설정이 제대로 되지 않았을 때 발생합니다.

임시 해결책으로 /etc/resolv.conf를 수정할 수 있습니다.

sudo sh -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf'

영구적으로 해결하려면 /etc/wsl.conf에 다음을 추가합니다.

[network]
generateResolvConf = false

그런 다음 /etc/resolv.conf를 원하는 DNS 서버로 설정하면 됩니다.

파일 권한 문제

윈도우 파일 시스템(/mnt/c/)에 있는 파일을 다룰 때 권한 관련 경고가 나올 수 있습니다. /etc/wsl.conf에 다음 설정을 추가하면 개선됩니다.

[automount]
options = "metadata,umask=22,fmask=11"

하지만 앞서 강조했듯이, 가능하면 프로젝트 파일은 리눅스 파일 시스템에 두는 것이 성능과 권한 문제 모두에서 최선입니다.

시계가 맞지 않을 때

노트북을 절전 모드에서 깨운 후 WSL2의 시간이 어긋나는 경우가 있습니다. 이는 인증서 검증 오류 등 다양한 문제를 일으킬 수 있습니다. 다음 명령어로 시간을 동기화할 수 있습니다.

sudo hwclock -s

또는 ntpdate를 사용합니다.

sudo apt install ntpdate -y
sudo ntpdate time.windows.com

마무리 – WSL2는 윈도우 개발자의 최고의 동반자

WSL2는 “윈도우냐 리눅스냐”라는 오랜 고민을 단번에 해결해주는 도구입니다. 일상적인 작업은 익숙한 윈도우에서 하고, 개발과 서버 관련 작업은 네이티브 리눅스 환경에서 하는 이상적인 조합을 만들 수 있습니다.

처음 설정이 다소 번거롭게 느껴질 수 있지만, 이 글에서 안내한 순서대로 한 번만 세팅해두면 그 다음부터는 터미널 하나 여는 것만으로 완벽한 리눅스 개발 환경이 준비됩니다. VS Code와의 연동, Docker 통합, 윈도우-리눅스 간 자유로운 파일 공유까지 더하면, 맥 사용자들이 부러워할 만한 개발 환경이 완성됩니다.

아직 WSL2를 써보지 않으셨다면, 오늘 당장 wsl --install 한 줄부터 시작해보세요. 한번 써보면 다시는 돌아갈 수 없을 겁니다.

이미지는 Leonardo AI 로 생성되었습니다.

이미지는 Claude AI 로 생성되었습니다.

답글 남기기

Your email address will not be published. Required fields are marked *.

Warning: Undefined array key "cookies" in /var/www/html/wp-content/themes/personal-cv-resume/class/class-post-related.php on line 212
*
*

최신 댓글