728x90

윈도우에서 WSL을 사용해야 하는 이유

  • 개발을 진행하다 보면, 리눅스 기반의 환경이 필요한 경우가 많다.
  • 특히 서버 환경, 도커, CLI 도구들 대부분이 리눅스를 기준으로 만들어졌기 때문에 윈도우 사용자 입장에서는 이질감을 느끼기도 한다.
  • 이때 이를 해결해주는 것이 바로 WSL(Windows Subsystem for Linux) 이다! 

 

일단 WSL을 알기 전에 운영체제가 뭔지부터 알아보자.

 

운영체제의 종류

  • 윈도우
    • 마이크로소프트에서 개발한 상용 운영체제
    • 그래픽 위주로 사용자 친화적 환경 제공
    • 개인 사용자, 오피스 사용자, 게임 등에서 널리 사용
  • 리눅스
    • 오픈 소스 기반의 운영체제 커널
    • 다양한 배포판(Distro)이 존재 (ex. Ubuntu, CentOS, Fedora 등)
    • 서버, 개발 환경, 클라우드에서 주로 사용
  • 우분투
    • 대표적인 리눅스 배포판 중 하나
    • 데비안(Debian)을 기반으로 GUI 환경을 제공
    • 리눅스 입문자에게 적합하며, WSL에서도 가장 많이 사용됨
  • 즉, "리눅스"는 커널이고 "우분투"는 배포판

 

윈도우에서 리눅스를 사용할려면?

  • 윈도우는 리눅스와 구조가 다르기 때문에, 리눅스 전용 도구나 커널 기반 기능을 바로 사용할 수 없다.
  • 이를 해결하는 방법이 바로 WSL(Windows Subsystem for Linux)
  • WSL
    •  Windows 10 이후부터 제공되는 기능으로, 윈도우 환경에서 리눅스 바이너리를 직접 실행할 수 있게 해주는 호환 계층(compatibility layer) 
  • WSL 1
    • 리눅스 커널을 에뮬레이션하여 실행
    • 일부 기능 제한 있음 (ex. 도커 X)
    WSL 2
    • 실제 리눅스 커널을 사용 (하이퍼바이저 기반의 가상 머신 위에서 동작)
    • 파일 시스템 성능 향상 및 100% 리눅스 시스템 콜 호환
    • 도커와 같은 컨테이너 기술에 필수적

 

하이퍼바이저란?

  • 하이퍼바이저(Hypervisor)는 가상화를 가능하게 해주는 소프트웨어
  • 하나의 물리 시스템에서 여러 운영체제를 동시에 실행할 수 있게 도와준다.
  • 타입설명
Type 1 (네이티브) 하드웨어 위에 직접 설치 Hyper-V, VMware ESXi
Type 2 (호스트형) 기존 OS 위에서 실행 VirtualBox, VMware Workstation
  • Windows에는 기본적으로 Hyper-V라는 하이퍼바이저가 내장되어 있다.

 

도커와 WSL의 관계

도커란?

  • 애플리케이션을 컨테이너로 포장하여, 동일한 실행 환경을 어디서든 재현할 수 있게 해주는 플랫폼
  • 기본적으로 리눅스 커널의 컨테이너 기술(cgroups, namespaces 등)을 기반으로 작동

윈도우에서 도커를 사용하려면?

  • Windows의 도커 데스크톱은 내부적으로 WSL 2 또는 하이퍼바이저 기반 VM을 사용함
  • 현재는 WSL 2 기반으로 도커를 사용하는 것이 성능/호환성 면에서 권장됨

즉, 도커를 윈도우에서 원활하게 사용하려면 WSL 2 설치가 필수

 

 

WSL을 사용하는 이유

 

  • 리눅스 전용 도구와 서버 환경을 윈도우에서 그대로 사용할 수 있음
  • 도커를 성능 저하 없이 사용할 수 있음
  • 리눅스 기반 개발 환경을 손쉽게 구성 가능
  • 별도 VM 설정 없이 가볍고 빠른 리눅스 환경

 

728x90

+ Recent posts