리눅스 기초 시리즈의 26번째 시간입니다! 지난 시간에는 네트워크의 문단속을 배우며 서버 관리자의 면모를 갖춰보았습니다. 이제 주제를 조금 돌려, 우리가 이 모든 실험을 가능하게 해주는 **'토양'**에 대해 이야기해보려 합니다. 바로 **WSL2(Windows Subsystem for Linux 2)**입니다.
2026년 현재, 클라우드 네이티브 개발과 AI 모델링이 일상이 된 시대에도 WSL2는 윈도우 사용자들에게 여전히 가장 강력한 무기입니다. 오늘은 제가 과거의 불편함을 뒤로하고 WSL2에 정착하게 된 경험담과 함께, 가장 깔끔한 설치 및 세팅 가이드를 정리해 드립니다.
1. 나의 경험담: "듀얼 부팅과 버추얼박스의 늪에서 탈출하다"
과거 리눅스를 공부하려면 두 가지 고행 중 하나를 선택해야 했습니다. 컴퓨터를 켤 때마다 OS를 선택하는 **'듀얼 부팅'**의 번거로움, 아니면 윈도우 안에서 무거운 **'가상 머신(VirtualBox 등)'**을 돌리며 펜 소음과 버벅임을 견디는 것이었죠.
특히 Flutter 앱을 개발할 때, 리눅스 서버 환경과 윈도우의 에뮬레이터를 동시에 돌리는 것은 제 노트북에게 가혹한 형벌이었습니다. 그러다 WSL2를 만났습니다. 윈도우의 편리함과 리눅스의 강력함을 1ms의 지연 시간 없이 넘나들 수 있게 되었을 때, 마치 노트북 사양을 두 배로 업그레이드한 듯한 쾌감을 느꼈습니다. 이제는 윈도우와 리눅스의 경계가 거의 느껴지지 않는 시대가 되었습니다.
2. Action: 2026년형 초간단 WSL2 설치법
과거에는 제어판에 들어가 여러 기능을 켜야 했지만, 이제는 파워쉘(PowerShell) 명령어 한 줄이면 충분합니다.
설치 코드 (Windows PowerShell 관리자 권한으로 실행):
# 1. WSL 및 기본 배포판(Ubuntu) 자동 설치
wsl --install
# 2. (선택) 특정 배포판을 설치하고 싶다면 목록 확인
wsl --list --online
# 3. 설치가 끝났다면 WSL 버전을 2로 고정
wsl --set-default-version 2
(▲ Action: 설치가 완료된 후 컴퓨터를 재부팅하면, 검은색 터미널 창이 뜨면서 여러분의 리눅스 계정 이름과 비밀번호를 묻게 됩니다. 이것으로 여러분의 윈도우 안에 완벽한 리눅스 커널이 이식되었습니다.)
3. Before & After: 명령 프롬프트 vs WSL2 터미널
윈도우 기본 명령 프롬프트(CMD)와 WSL2의 차이는 단순히 화면 색깔이 아닙니다.
| 비교 항목 | 윈도우 CMD / PowerShell | WSL2 (Ubuntu 등) |
| 명령어 체계 | DOS / .NET 기반 | 표준 POSIX (리눅스 명령어) |
| 파일 시스템 | NTFS (Case-insensitive) | EXT4 (Case-sensitive) |
| 패키지 관리 | 별도 설치 (Winget 등) | APT / Snap 등 리눅스 표준 |
| 성능 | 윈도우 작업 최적화 | 리눅스 서버/Docker 최적화 |
4. 실전 팁: 메모리 폭주 막는 .wslconfig 설정
WSL2는 리눅스 커널이 직접 돌아가기 때문에, 자칫하면 윈도우의 RAM을 전부 먹어버릴 수 있습니다. 이를 방지하기 위한 필수 최적화 설정입니다.
최적화 코드:
윈도우의 사용자 폴더(C:\Users\사용자이름)에 .wslconfig 파일을 만들고 아래 내용을 적어주세요.
[wsl2]
# WSL2가 사용할 최대 메모리 제한 (예: 8GB)
memory=8GB
# CPU 코어 개수 제한
processors=4
# 캐시 반환 설정 (메모리 누수 방지)
autoMemoryReclaim=dropcache
5. After: 진정한 하이브리드 개발자의 탄생
설치와 최적화를 마친 후 제 개발 환경은 드라마틱하게 변했습니다.
- 파일 공유: 윈도우 폴더를 리눅스에서 cd /mnt/c/로 즉시 접근합니다.
- VS Code 연동: 윈도우에서 코딩하고, 실행은 리눅스 커널에서 바로 수행합니다.
- Docker 시너지: 별도의 가상화 없이 WSL2 백엔드를 사용하여 도커 컨테이너를 빛의 속도로 띄웁니다.
6. 마치며: 튼튼한 토양 위에 집을 짓자
리눅스 기초 시리즈 26번째 시간은 우리가 서 있는 바닥, WSL2를 점검하는 시간이었습니다. 튼튼하게 세팅된 WSL2 환경은 앞으로 우리가 마주할 더 복잡한 리눅스 실험들의 든든한 버팀목이 되어줄 것입니다.
오늘의 인사이트: "도구가 좋으면 공부가 놀이가 된다. WSL2는 윈도우 사용자가 리눅스라는 신세계로 들어가는 가장 완벽한 게이트웨이다."
26번째 이야기를 마칩니다. 이제 우리만의 완벽한 리눅스 서버 환경이 구축되었습니다. 다음 시간에는 이 쾌적한 환경에서 **'윈도우 폰트를 리눅스 터미널에 적용하여 가독성을 극대화하는 튜닝 팁'**에 대해 심도 있게 다뤄보겠습니다. 2026년의 감성을 담은 터미널, 기대해 주세요!
혹시 WSL2 설치 중 0x80370102 같은 가상화 관련 에러를 만나셨나요? BIOS에서 가상화 기술(VT-x / AMD-V)을 켜는 법을 다음 포스팅 부록으로 준비해 드릴까요?
'IT' 카테고리의 다른 글
| [리눅스 기초 #28] 내 램이 다 어디 갔지? .wslconfig로 WSL2 자원 관리 끝내기 (0) | 2026.02.04 |
|---|---|
| [리눅스 기초 #27] WSL2 버전 확인과 업그레이드: 성능 향상의 숨은 열쇠 (0) | 2026.02.03 |
| [리눅스 기초 #25] "이 포트 누가 쓰고 있어?" : netstat와 ss로 네트워크 통로 감시하기 (1) | 2026.02.03 |
| [리눅스 기초 #24] 잠들지 않는 성실한 조수: crontab으로 24시간 자동화 완성하기 (0) | 2026.02.02 |
| 리눅스 기초 #23] 틀린 그림 찾기의 달인: diff와 patch로 코드의 변화 추적하기 (1) | 2026.02.02 |