[Linux] WSL2를 이용한 윈도우에 리눅스 설치
개인 로컬 컴퓨터에서 만약 리눅스 환경을 구성해보고 싶다면.. 그리고 맥이 아니라 윈도우를 사용한다면.. WSL을 사용할 수 있다.
1. WSL, WSL2?
리눅스용 윈도우 하위 시스템(Windows Subsystem for Linux, WSL)은 윈도우 10과 윈도우 11에서 네이티브로 리눅스 실행 파일(ELF)을 실행하기 위한 호환성 계층이다.
Linux용 Windows 하위 시스템을 사용하면 개발자가 기존 가상 머신의 오버헤드 또는 듀얼 부팅 설정 없이 대부분의 명령줄 도구, 유틸리티 및 애플리케이션을 비롯한 GNU/Linux 환경을 수정하지 않고 Windows에서 직접 실행할 수 있다.
그리고 2020년 5월, WSL2가 릴리즈 되었다.
WSL 2는 Linux용 Windows 하위 시스템 아키텍처의 새로운 버전으로, Linux용 Windows 하위 시스템이 Windows에서 ELF64 Linux 이진 파일을 실행할 수 있게 해 준다. WSL 2의 주 목표는 파일 시스템 성능을 높이고전체 시스템 호출 호환성을 추가하는 것이다.
개별 Linux 배포는 WSL 1 또는 WSL 2 아키텍처를 사용하여 실행할 수 있다. 언제든지 각 배포를 업그레이드하거나 다운그레이드 할 수 있으며 WSL 1 및 WSL 2 배포를 함께 실행할 수 있다. WSL 2는 실제 Linux 커널을 실행하는 이점을 제공하는 완전히 새로운 아키텍처를 사용한다.
2. Chocolatey?
초콜리티(Chocolatey)는 윈도우 소프트웨어를 위한 머신 수준의 명령 줄 패키지 관리자이자 인스톨러이다. NuGet 패키징 인프라스트럭처와 윈도우 파워쉘을 사용하여 소프트웨어의 다운로드와 설치 과정을 단순화시킨다.
리눅스에서 apt, yum 혹은 노드에서 npm 들을 사용해봤다면 쉽게 짐작 가능한 윈도우 기반의 패키지 매니저 툴이다.
3. Chochlatey Install
작업은 명령 프롬프트 CMD 관리자모드 기준이다.
powershell.exe -nologo -noprofile -command "& { Set-ExecutionPolicy AllSigned }"
powershell.exe -nologo -noprofile -command "& { Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) }"
4. WSL2 Install
https://apps.microsoft.com/store/detail/ubuntu/9PDXGNCFSCZV?hl=ko-kr&gl=KR
마이크로 소프트 스토어에서 설치하고 실행 할 수 있으며 나처럼 윈도우 터미널을 설치해뒀으면 그냥 명령어만으로 설치할 수 있다.
(CMD)
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
rem rebooting
Shutdown -r -t 0
( 재부팅후 )
choco install -y wsl2
choco install -y wsl-ubuntu-2004
powershell.exe -nologo -noprofile -command "& { $dir= (Get-Item \"C:\Program Files\WindowsApps\CanonicalGroupLimited.UbuntuonWindows_2004*\ubuntu.exe\");$ubuntu=$dir.DirectoryName+\"\ubuntu.exe\";Start-Process \"$ubuntu\" }"
만약 파워쉘로 작업한다면 아래와 같이 명령어만 입력해도 된다.
$dir= (Get-Item "C:\Program Files\WindowsApps\CanonicalGroupLimited.UbuntuonWindows_2004*\ubuntu.exe");
$ubuntu=$dir.DirectoryName+"\ubuntu.exe";
Start-Process "$ubuntu"
5. 확인
$ wsl -l -v
NAME STATE VERSION
* Ubuntu Running 2
version 2 임을 확인하면 된다.
윈도우 터미널에서 새 세션을 시작하는 아래 화살표를 클릭하면 Ubuntu가 추가되었다.
\\WSL$로 접속하면 디렉토리를 확인할 수 있다.
만약 WSL로 docker 환경을 구축하고 싶다면 Hyper-V 설정을 해야하는데..(Window 10 home 이라면) 다음 시간에 알아보도록 하자.
'Server & Infra' 카테고리의 다른 글
[Kafka] 설치 및 환경구축 (0) | 2024.01.30 |
---|---|
[Linux / Windows] 특정포트를 사용하는 프로세스 강제종료 (0) | 2022.09.26 |
[Jenkins] Wildfly 배포자동화 (maven) (0) | 2022.04.07 |
[Jenkins] Slack으로 Jenkins 알림받기 (0) | 2022.04.06 |
[Jenkins] Jenkins - SVN 연동 (0) | 2022.04.05 |