윈도우에서 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)
- 실제 리눅스 커널을 사용 (하이퍼바이저 기반의 가상 머신 위에서 동작)
- 파일 시스템 성능 향상 및 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 설정 없이 가볍고 빠른 리눅스 환경
'CS 지식' 카테고리의 다른 글
컨테이너와 도커 (1) | 2024.12.01 |
---|---|
스레드 (1) | 2024.11.30 |
깊이우선탐색(DFS)과 너비우선탐색(BFS) (0) | 2024.10.23 |
빌드 관리 도구 Maven과 Gradle 비교하기 (0) | 2024.05.09 |
하나의 레포지토리에 여러 프로젝트 올리기 (0) | 2024.05.09 |