WSL(Windows Subsystem for Linux) 이란?




1) 개요 — WSL이란?

WSL은 Windows에서 별도의 전체 VM 없이 리눅스 환경(파일시스템, 셸, 대부분의 명령줄 도구 및 앱)을 직접 실행할 수 있게 해주는 기능이야. 개발자가 Windows 데스크톱 한 대에서 리눅스 도구(예: bash, apt, ssh, 각종 빌드툴)를 자연스럽게 사용하게 해준다. Microsoft Learn+1


2) WSL 1 vs WSL 2 — 주요 차이(핵심)

  • WSL 1: Windows 커널 쪽에서 리눅스 시스템콜을 번역(translation)해 실행하는 방식. Windows 파일 시스템 접근 성능에서 이점이 있는 경우가 있음.

  • WSL 2: 가벼운 관리형 VM(Windows Hypervisor 기반) 안에 실제 리눅스 커널을 넣어 동작. 완전한 시스템콜 호환성과 리눅스 네이티브 파일시스템에서의 성능 향상이 특징. (대신 Windows↔WSL 간 파일 접근 패턴에 따라 속도 차이 있음.) Microsoft Learn+1

요약: **리눅스 호환성·컨테이너·ML·파일 I/O(리눅스쪽)**이 중요하면 WSL2 권장.


3) 주요 기능 / 추가 요소

  • GUI 앱 실행(WSLg): WSL2 위에서 리눅스 GUI(X11/Wayland) 앱을 Windows 데스크톱에서 바로 띄울 수 있게 해주는 WSLg 프로젝트가 있으며, 공식적으로 지원되어 wsl --update 등으로 최신 기능을 받을 수 있다. (GUI는 WSL2에서만 동작). GitHub+1

  • GPU 가속(딥러닝/ML): WSL2는 GPU(예: NVIDIA CUDA, DirectML 등)를 활용한 머신러닝 워크로드 실행을 지원한다 — 즉 WSL에서 GPU 가속 학습/추론 환경 구성 가능. Microsoft Learn+1

  • systemd 지원: 최근 WSL은 systemd를 지원하며, 이를 통해 systemd 기반 서비스(데몬) 관리가 가능해졌다. Microsoft Learn

  • 독립적 업데이트 / 오픈소스화: WSL은 OS에 내장되어 있지만 점차 독립 패키지로 분리·업데이트 가능해졌고(또한 오픈소스화에 대한 발표도 있었다). The Verge+1


4) 설치 & 자주 쓰는 명령(빠른 시작)

권장(간단 설치 — 관리자 권한 PowerShell에서):

# 전체 설치(Windows 11/지원되는 Windows 10에서 가능) wsl --install # 설치된 배포판 및 WSL 버전 확인 wsl -l -v # 특정 배포판을 WSL 2로 변환 wsl --set-version <DistroName> 2 # WSL 자체 업데이트(특히 WSLg/GUI 관련) wsl --update # WSL 중지(모든 인스턴스 종료) wsl --shutdown

새로 wsl --install로 설치하면 기본적으로 WSL 2로 설치되는 것이 현재 권장 흐름이다. 자세한 설치 옵션과 수동 설치 절차는 Microsoft 공식 가이드를 참고하면 안전하다. Microsoft Learn+1


5) 실무 활용 사례

  • 개발 환경: 로컬에서 Linux 기반 빌드/테스트(예: Node, Python, Ruby, Go 등) → Windows IDE(예: VS Code Remote - WSL)와 결합해 사용. Ubuntu+1

  • 컨테이너 개발: Docker Desktop은 WSL2 백엔드를 사용해 Windows에서 네이티브 수준으로 리눅스 컨테이너를 돌림 — Docker와 통합된 개발 워크플로우에 좋음. Docker Documentation+1

  • 데이터/ML: CUDA/DirectML 지원으로 모델 학습 및 GPU 가속 워크로드를 WSL2에서 실행 가능. Microsoft Learn+1

  • GUI 리눅스 툴: 리눅스 전용 GUI 툴(예: 일부 IDE, 그래픽 툴)을 WSLg로 실행 가능. Microsoft Learn


6) 장점 & 단점(주의해야 할 점)

장점

  • Windows와 리눅스 도구를 자연스럽게 병행 가능 → 개발 생산성↑. Microsoft Learn

  • WSL2는 높은 리눅스 호환성(시스템콜)과 네이티브 Linux FS 성능 개선. Microsoft Learn

단점 / 주의

  • 파일 I/O 패턴: WSL2의 경우 Windows 파일(예: C:\)을 WSL내에서 자주 읽고 쓰면 성능 저하가 발생할 수 있어, 프로젝트 파일은 가능하면 WSL 파일시스템(예: /home)에 두는 것이 좋다. Microsoft Learn

  • 가상화 의존성: WSL2는 가상화 플랫폼을 사용하므로 일부 오래된 하이퍼바이저/도구와 충돌이 있을 수 있음(예: 구버전 VirtualBox). 최신 버전은 호환 개선됨. Microsoft Learn

  • 완전한 서버 대체 아님: WSL은 데스크톱 개발/테스트에 탁월하지만, 프로덕션 리눅스 서버 운영을 1:1로 대체하는 용도는 아님(특히 커널 수정·특수 하드웨어 패스스루 등).

  • 보안/권한: Windows↔WSL 통합 때문에 파일 접근이나 도구(예: Docker 데스크톱) 설정 시 보안 이슈가 발생할 수 있으니 권한·네트워크 설정 주의가 필요. (Docker+WSL 연동 관련 공식 문서 참조 권장). Docker Documentation


7) 실전 팁(짧고 유용한 것들)

  • 프로젝트 코드는 WSL 내부(~/project)에 두고 Windows에서 편집하려면 VS Code의 Remote - WSL 확장 사용. Docker Documentation

  • WSL 업데이트: GUI·커널·도구 문제 생기면 wsl --updatewsl --shutdown 후 재시작 해보기. Microsoft Learn

  • wsl -l -v로 각 배포판이 WSL1/2 어느 버전인지 확인, 필요 시 --set-version으로 전환. Microsoft Learn

  • systemd 필요하면 Microsoft의 systemd 가이드(및 /etc/wsl.conf 설정)를 참고해 활성화. Microsoft Learn


8) 참고 자료(공식)





댓글 없음:

댓글 쓰기

참고: 블로그의 회원만 댓글을 작성할 수 있습니다.

[📌 유튜브 애드센스 수익창출] 싱가포르 세금 정보 등록 가이드 !!

📌 1) 왜 “세금 정보(싱가포르)”를 등록해야 할까? 유튜브 광고 수익은 구글 아시아태평양 법인(Google Asia Pacific Pte. Ltd.) – 싱가포르 법인 을 통해 지급됩니다. 따라서 애드센스 수익을 받으려면 세금 관련 정보를 ...