CodeGym /행동 /Docker SELF /Windows에서 Linux 작업: WSL

Windows에서 Linux 작업: WSL

Docker SELF
레벨 1 , 레슨 2
사용 가능

Windows에서 Linux 작업: WSL

1. WSL이 뭐야?

이제 흥미로운 주제로 넘어가자: Windows를 주요 운영 체제로 사용하는 경우 Linux를 어떻게 사용할 수 있을까? WSL의 세계로 환영한다구!

WSL (Windows Subsystem for Linux)은 Microsoft가 제공하는 기술로, Linux 배포판을 Windows에서 바로 실행할 수 있게 해줘. 두 가지 버전이 있어:

  • WSL1: Windows와 Linux 간 시스템 호출 레벨에서 호환성을 제공해. Windows 커널을 통해 Linux 동작을 에뮬레이션하는 방식이지.
  • WSL2: 숨겨진 가벼운 가상 머신을 통해 완전한 Linux 커널을 사용해. 이게 WSL2를 더 빠르고 실제 Linux와 더 호환 가능하게 만들어.

WSL은 두 세계 간의 절충안 같은 거야: Windows 생태계에 있으면서 Linux 도구를 사용할 수 있거든. 개발자들에게 큰 장점이지: 좋아하는 Linux 명령어로 프로그래밍, 테스트, 서버 설정을 할 수 있어.


2. WSL이 왜 그렇게 유용할까?

  1. 개발 및 테스트: WSL은 개발자들이 컴퓨터를 재부팅하거나 가상 머신을 사용하지 않고 Linux 환경에서 작업할 수 있게 해줍니다.
  2. Docker와 컨테이너화: WSL2는 Docker를 지원하며, 이는 컨테이너 작업에 특히 유용합니다.
  3. 파일 시스템 통합: 하나의 파일 시스템을 사용하여 Windows와 Linux 간에 파일을 쉽게 공유할 수 있습니다.
  4. 설정의 간편함: WSL 설치는 정말 몇 분 안에 끝납니다.

WSL이 가상 머신과 다른 점은?

  • 가상화가 필요 없음. VirtualBox, VMware 또는 Hyper-V를 설치할 필요가 없습니다. WSL은 시스템 레벨에서 작동합니다.
  • 적은 자원 사용. WSL은 일반 가상 머신보다 적은 RAM과 CPU 시간을 사용합니다.
  • Windows와 통합. Windows와 Linux 간에 파일을 쉽게 공유하고, Linux와 Windows 명령을 함께 실행할 수 있으며(!), 동일한 네트워크 인터페이스를 사용할 수 있습니다.

3. WSL 설치

1. 시스템 요구사항 확인

시작하기 전에, 시스템이 최소 요구사항을 충족하는지 확인하세요:

  • Windows 10 (버전 2004 이상) 또는 Windows 11.
  • BIOS/UEFI에서 가상화 활성화.

Windows 버전을 확인하려면 PowerShell을 열고 다음 명령을 실행하세요:

winver

아래와 같은 창이 나타나야 합니다:

Windows에서 PowerShell을 실행하는 방법을 모른다면, Win+S를 누르고 powershell을 입력하세요.

2. WSL 활성화

관리자 권한으로 PowerShell을 열고 다음 명령을 실행하세요:

wsl --install

이 명령은 자동으로 WSL을 설치하고 Linux 커널을 다운로드하며 기본 버전을 WSL2로 설정합니다.

어떤 이유로 명령이 작동하지 않는 경우, Windows의 추가 구성 요소를 사용하여 WSL을 수동으로 활성화할 수 있습니다:

  1. "제어판" → "프로그램 및 기능" → "Windows 기능 켜기/끄기"를 엽니다.
  2. 다음을 활성화하세요:
    • Windows용 Linux 하위 시스템.
    • 가상 머신 플랫폼.

그런 다음 컴퓨터를 재부팅하세요.

3. 배포판 선택 및 설치

WSL은 Ubuntu, Debian, Kali Linux 등과 같은 인기 있는 Linux 배포판을 설치할 수 있게 해줍니다. 사용할 수 있는 배포판 목록을 보려면 다음을 실행하세요:

wsl --list --online

사용 가능한 배포판 목록이 표시됩니다:


PS C:\Users\Admin> wsl --list --online
The following is a list of valid distributions that can be installed.
Install using 'wsl.exe --install <Distro>'.

NAME                            FRIENDLY NAME
Ubuntu                          Ubuntu
Debian                          Debian GNU/Linux
kali-linux                      Kali Linux Rolling
Ubuntu-18.04                    Ubuntu 18.04 LTS
Ubuntu-20.04                    Ubuntu 20.04 LTS
Ubuntu-22.04                    Ubuntu 22.04 LTS
Ubuntu-24.04                    Ubuntu 24.04 LTS
OracleLinux_7_9                 Oracle Linux 7.9
OracleLinux_8_7                 Oracle Linux 8.7
OracleLinux_9_1                 Oracle Linux 9.1
openSUSE-Leap-15.6              openSUSE Leap 15.6
SUSE-Linux-Enterprise-15-SP5    SUSE Linux Enterprise 15 SP5
SUSE-Linux-Enterprise-15-SP6    SUSE Linux Enterprise 15 SP6
openSUSE-Tumbleweed             openSUSE Tumbleweed

예를 들어 Ubuntu를 설치하려면 다음 명령을 실행하세요:

wsl --install -d Ubuntu

설치 후 배포판을 실행하여 설정을 완료하세요 (예: 사용자 이름 및 비밀번호 설정).


3. 기본 WSL2 설정하기

WSL2를 사용하려면(이걸 강력 추천해), WSL2가 활성화되어 있는지 확인하세요. 기본 버전으로 설정하려면:

wsl --set-default-version 2

만약 이미 WSL1이 설치되어 있는 배포판이 있는 경우, 이걸 WSL2로 업그레이드 할 수 있어:

wsl --set-version <배포판_이름> 2

예시:

wsl --set-version Ubuntu 2

4. WSL과 Windows의 통합

WSL은 Windows와 훌륭하게 통합되어 두 시스템의 기능을 모두 사용할 수 있어. 다음은 주요 포인트야:

1. 파일 공유

WSL은 Windows 파일 시스템을 /mnt 디렉토리에 마운트해. 예를 들어:

cd /mnt/c/Users/당신의이름

Linux에서 바로 Windows 파일을 사용할 수 있어. 반대로 Windows 파일 탐색기에서 \\wsl$\<배포판_이름> 경로를 통해 WSL 파일을 열 수 있어.

2. Linux에서 Windows 명령 사용하기

맞아, WSL에서 바로 Windows 명령어를 실행할 수 있어. 예를 들어:

explorer.exe .

현재 디렉토리가 파일 탐색기에서 열릴 거야.

3. PowerShell에서 Linux 명령 사용하기

WSL은 PowerShell에서 바로 Linux 명령을 실행할 수 있게 해줘. 예를 들어:

wsl ls

5. 실제 개발에서 WSL 사용

웹 서버 작업

WSL에서 Nginx나 Apache 서버를 실행하고 Windows 브라우저로 접속할 수 있어. 예를 들어:

1. WSL에서 Nginx 설치:

   sudo apt update
   sudo apt install nginx

2. 서버 실행:

   sudo service nginx start

3. 브라우저 열고 http://localhost로 이동해.

Docker 설치

WSL2는 Docker를 완전히 지원해. Windows에 Docker Desktop을 설치하면 WSL2와 자동으로 통합돼.


6. 유용한 WSL 명령어

  • 설치된 배포판 보기:

    wsl --list --verbose
    

    모든 설치된 배포판, 버전 및 상태를 보여준다.

  • 모든 배포판 중지:

    wsl --shutdown
    
  • 배포판 삭제 (주의!):

    wsl --unregister <배포판_이름>
    
  • 특정 디렉토리에서 WSL 열기:

    wsl ~/
    

7. 일반적인 오류와 해결 방법

1. 오류: "WSL is not enabled"

만약 "WSL이 활성화되지 않았습니다"라는 메시지가 보이면, "제어판"이나 PowerShell에서 WSL을 활성화했는지 확인해. 또한, CPU가 가상화를 지원하는지(BIOS에서 활성화되어 있어야 함) 확인해야 해.

2. wsl --install 명령이 작동하지 않음

이 문제는 Windows의 오래된 버전 때문일 수 있어. 운영 체제를 최신 버전으로 업데이트해봐.

3. Docker 실행 문제

사용 중인 배포판이 WSL1이 아닌 WSL2를 사용하고 있는지 확인해. 이렇게 확인할 수 있어:

wsl --list --verbose

4. WSL에서 서버에 연결할 수 없음

Windows의 방화벽(firewall)이 연결을 차단하고 있지 않은지 확인해봐.


8. 실습 과제

  1. WSL과 Ubuntu 배포판을 설치하세요.
  2. 배포판의 WSL 버전을 확인하세요:
    wsl --list --verbose
    
  3. WSL에서 /mnt/c/Users/당신의이름/Documents 디렉토리에 test.txt 텍스트 파일을 만드세요:

    echo "안녕, WSL!" > /mnt/c/Users/당신의이름/Documents/test.txt
    
  4. PowerShell을 통해 파일 내용을 확인하세요:

    type C:\Users\당신의이름\Documents\test.txt
    
  5. 추가 과제: Nginx를 설치하고 실행한 뒤 http://localhost를 브라우저에서 열어보세요.

그럼, 이제 설치부터 Windows에서 Linux를 실제로 사용하는 것까지 모든 과정을 마쳤습니다. 이 도구를 통해 어떤 작업에서도 쉽게 작업 환경을 구축할 수 있어요.

코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION