WSL2 설치 및 환경설정
- 윈도우 환경에서 리눅스를 체험하는 가장 추천하는 방법은 WSL2 (Windows Subsystem for Linux 2)
- 과거에는 가상머신(VMware, VirtualBox 등)을 많이 썼지만,
- WSL2는 윈도우 커널 위에서 리눅스 커널을 직접 실행하므로 속도가 압도적으로 빠르고 윈도우 파일과의 연동이 매우 강력함
- 마치 윈도우의 한 프로그램처럼 리눅스 터미널을 띄울 수 있어 실무 환경과 가장 유사함
1. WSL 2 설치 및 설정 가이드
- 1단계: WSL 활성화 및 설치 (PowerShell)
- 윈도우 10(버전 2004 이상)이나 윈도우 11을 사용 중이라면 명령어 한 줄로 설치 가능
- PowerShell 또는 명령 프롬프트를 ‘관리자 권한’으로 실행
- Windows Terminal 추천
다음 명령어를 입력
wsl --install- 필요한 기능을 활성화하고,
- 기본 리눅스 배포판인 Ubuntu를 자동으로 다운로드함


- 설치가 완료되면 반드시 컴퓨터를 재부팅 해야 합니다.
- 2단계: 리눅스 사용자 설정
- 재부팅 후 자동으로 리눅스 터미널 창이 뜨거나, 시작 메뉴에서 ‘Ubuntu’를 찾아 실행
- Installing…
- 메시지가 나온 뒤 잠시 기다리면 사용자 이름과 비밀번호 설정 단계가 나옴
- Enter new UNIX username
- 본인이 사용할 ID 입력 (영문 소문자 권장)
- Enter new UNIX password
- 비밀번호 입력 (입력 시 화면에 글자가 나타나지 않는 것이 정상)


- 설치 과정에서 “가상화(Virtualization)가 비활성화되어 있다”는 에러가 발생할 수 있음
- 이 경우 PC 바이오스(BIOS) 설정에서 Intel VT-x 또는 AMD-V를 Enabled로 변경해야 함



- 3단계: 최신 상태 업데이트 (리눅스 터미널)
- 리눅스 설치 직후 패키지 매니저를 최신 상태로 업데이트 필수
sudo apt update && sudo apt upgrade -y

2. 개발 환경 최적화 (함께 설치하면 좋은 도구)
- 단순히 터미널만 쓰는 것보다 실제 현업 개발자처럼 환경을 구성하는 것이 좋음
- Windows Terminal 설치
- 윈도우 기본 CMD보다 훨씬 예쁘고 다중 탭을 지원함
- 가독성이 좋아 작업의 몰입도가 올라감
- 마이크로소프트 스토어에서 설치할 것을 권장
- 따로 설치하더라도 마이크로소프트 스토어로 다시 돌아가는 경우가 자주 발생함
- Terminal을 설치했는데 PowerShell이 실행되는 이유
- Terminal과 Shell의 개념 차이와 기본 설정 때문
- Windows Terminal은 화면(껍데기) 🡲 글자를 입력하고 결과를 보여주는 ‘창’ 역할
- PowerShell은 엔진(알맹이) 🡲 명령어를 해석하고 실행하는 주체
- 기본 설정: 윈도우 터미널은 기본적으로 Windows PowerShell을 기본 셸로 사용하도록 설정되어 있음

Terminal에는 다중 탭이 보이고, 기존의 Powershell에는 다중 탭이 보이지 않음
- VS Code와 연동 (핵심)
- 윈도우에 설치된 Visual Studio Code 실행
- 미 설치 시 역시 마이크로소프트 스토어에서 설치 가능



- 미 설치 시 역시 마이크로소프트 스토어에서 설치 가능
확장(Extensions) 탭에서 “WSL”을 검색하여 설치




- 리눅스 터미널에서
code .을 입력 🡲 리눅스 안의 파일을 윈도우의 VS Code에서 바로 편집할 수 있음- 윈도우를 사용하는 데이터 엔지니어의 실제 작업 방식

- 윈도우를 사용하는 데이터 엔지니어의 실제 작업 방식
- 윈도우에 설치된 Visual Studio Code 실행
3. WSL 2를 추천하는 이유 (의의)
- 성능
- 가상머신처럼 메모리를 통째로 점유하지 않고 필요할 때만 유연하게 사용
- 연동성
- 윈도우 탐색기에서
\\wsl$경로를 통해 리눅스 파일 시스템에 직접 접근 가능 - 데이터 파일을 옮기기 용이함
- 윈도우 탐색기에서
- 실전성
- Docker Desktop for Windows가 WSL 2 기반으로 동작
- 나중에 컨테이너 기술을 배울 때 별도의 설정 변경 없이 바로 넘어갈 수 있음

