Windows의 WSL로 리눅스 사용하기
WSL을 알기 전까지는 Windows에서 리눅스를 쓰는 방법이 VirtualBox로 가상 머신(VM)을 만드는 것뿐인 줄 알았습니다. WSL(Windows Subsystem for Linux, Linux용 Windows 하위 시스템)이란 Windows 운영체제 위에 Linux 환경을 실행하기 위한 호환성 계층 또는 가상화 기술로, 다양한 리눅스 배포판의 명령줄 도구와 환경을 사용할 수 있으며, VirtualBox의 VM과 달리 경량 VM을 사용해 리소스를 효율적으로 사용하며, 부팅 시간이 매우 빠릅니다.
그럼 WSL를 사용하기 위한 절차를 알아보겠습니다.
- WSL를 사용하기 위한 가상화 환경 확인
- Windows 터미널 설치(Win10 사용자, 생략 가능)
- 리눅스 사용환경 구축하기
- 리눅스 배포판에 접속하기
- 리눅스 배포판에 nginx 설치 후 웹 페이지 접속 테스트(생략 가능)
1. WSL를 사용하기 위한 가상화 환경 확인
사용자 PC가 가상화를 지원하는지 확인해야 합니다.
- “Shift+Ctrl+Esc” 클릭하여 작업 관리자를 실행 > 성능 탭으로 이동 > CPU 항목을 선택
아래 이미지처럼 가상화: 사용으로 표시되어야 합니다. 가상화: 사용으로 표시되어 있지 않다면, BIOS/UEFI가 가상화를 지원하는지 여부를 확인하고 가상화를 지원한다면 가상화를 활성화시켜야 합니다. 가상화를 지원하지 않는다면 WSL2를 사용할 수 없습니다.
2. Windows 터미널 설치(Win10 사용자, 생략 가능)
Win11과 달리 Win10은 Windows 터미널이 기본으로 설치되어 있지 않습니다. 하나의 창에서 여러 개의 탭을 열어 PowerShell, 명령 프롬프트(CMD) 등 다양한 셸을 동시에 실행할 수 있습니다. 탭 간 전환이 쉬워 작업 효율을 높여줍니다. 특히 Windows 터미널로 WSL로 설치된 리눅스 배포판에 편리하게 접속할 수 있습니다.
winget install Microsoft.WindowsTerminal
명령어로 Windows 터미널 설치
wt
명령어로 Windows 터미널 실행
3. 리눅스 사용환경 구축하기
wsl --install
명령어 실행
- 필수 Windows 기능 활성화: Linux용 Windows 하위 시스템 및 가상 머신 플랫폼 기능을 자동으로 활성화합니다
- 최신 WSL 커널 설치: WSL2를 실행하기 위해 필요한 최신 Linux 커널 패키지를 설치합니다.
- WSL2 기본 버전 설정: 앞으로 설치될 모든 배포판의 기본 버전을 WSL2로 설정합니다.
- 기본 배포판 설치: 특별한 옵션을 지정하지 않으면 Ubuntu를 기본적으로 설치합니다.
탐색기에서도 Ubuntu 파일 시스템을 확인할 수 있으며,
리눅스 파일 시스템은 .vhdx라는 가상 디스크 파일에 저장되고, 이 파일은 다음 경로에 위치합니다.
- 필수 Windows 기능 활성화: Linux용 Windows 하위 시스템 및 가상 머신 플랫폼 기능을 자동으로 활성화합니다
- PC를 다시 시작한 후
wsl -v
명령어로 wsl의 버전을 확인합니다.
4. 리눅스 배포판에 접속하기
앱 목록에서 직접 Ubuntu를 실행할 수 있으나, Windows 터미널에서도 Ubuntu를 실행할 수 있습니다. 2단계에서 Windows 터미널을 먼저 설치한 이유입니다.
- 실행 창에서
wt
명령어를 실행하고 Ubuntu를 클릭
- Ubuntu 배포판에 접속
- Ubuntu에 설치된 패키지들을 업그레이드시키고, 필요한 패키지를 추가 설치
# apt update # apt list --upgradable # apt upgrade
5. 리눅스 배포판에 nginx 설치 후 웹 페이지 접속 테스트(생략 가능)
- Ubuntu 배포판의 IP주소 확인
# ip addr1: lo:
mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:15:5d:11:39:24 brd ff:ff:ff:ff:ff:ff inet 172.28.155.155/20 brd 172.28.159.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::215:5dff:fe11:3924/64 scope link valid_lft forever preferred_lft forever root@DESKTOP-1GVM8IF:~# apt list --installed nginx Listing... Done - nginx 설치 및 서비스 시작
# apt install nginx # systemctl enable --now nginx
- 사용자 PC에서 Ubuntu 배포판의 웹 서비스 접속