리눅스용 윈도우 하위 시스템(WSL, Windows Subsystem for Linux)
: 윈도우 운영체제에 포함된 하위 시스템으로 호스트 운영체제에서 분리된 애플리케이션이 독립적으로 실행될 수 있도록 격리한 시스템이다. 완전한 리눅스 가상 머신(VM)을 실행하지 않고도 기본적으로 리눅스 명령 줄 도구, 유틸리티, 그리고 리눅스에서 사용하던 ELF64 바이너리를 그대로 윈도우에서 실행할 수 있도록 하는 새로운 윈도우 운영체제 호환성 계층을 구축한다.
=> 리눅스용으로 제공되는 각종 프로그램과 편리한 도구들을 window용으로 포팅하거나 window용 버전을 구할 필요가 없어지는 장점을 가진다!!
- 에뮬레이션( emulation:복제 )
: 한 시스템이 다른 시스템의 기능을 모방하도록 하는 것이다. 대표적으로 WSL(Windows Subsystem for Linux)은 리눅스 운영 체제를 완전히 가상화하지는 않지만, 일부 리눅스 기능 및 API를 Windows 운영 체제에서 구현하여 리눅스 프로그램이 Windows에서 실행될 수 있도록 한다. 리눅스와 Windows 간의 호환성을 높이고, 사용자가 리눅스 명령어 및 도구를 Windows에서 실행할 수 있게 합니다.
- 시뮬레이션( simulation:복제 )
: 실제 시스템의 동작을 수학적 모델을 통해 재현하는 것이다. 대표적으로 가상화 플랫폼 (예: VirtualBox, VMware 등)을 이용하는 것을 말한다. 완전한 독립적인 자체 운영 체제와 파일 시스템을 가지며, 리소스(메모리, CPU 등)를 독립적으로 사용하여 완전히 격리된 환경을 제공하고 별도의 IP 주소와 네트워크 설정할 수 있다.
+) OVA 파일 : 일반적으로 가상화 플랫폼(VirtualBox, VMware 등)에서 사용되는 가상 머신의 이미지를 포함하는 아카이브 파일
[ WSL 이용가능 환경 세팅 ]
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux
/all /norestart
: Windows의 디스크 이미지 서비스 관리자 (DISM)를 사용하여 온라인 상태에서 Windows Subsystem for Linux (WSL)을 활성화하는 명령
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
: 디스크 이미지 서비스 관리자 (DISM)를 사용하여 온라인 상태에서 가상 머신 플랫폼을 활성화하는 명령
+) 동일한 접근 :: 제어판-프로그램 및 기능-windows기능켜기/끄기-linux용window하위시스템 & 가상화 체크
[ 우분투 설치 ]
정식우분투가 아닌 microsoft store에서 제공하는 우분투 설치한다. 이후 username & password을 설정한다.
더불어 여러 프로그램이 환경을 갖추도록 세팅한다.( gcc컴파일러 설치, g++컴파일러 설치 )
wsl --install
wsl --list --online
: 사용 가능한 Linux 배포판 목록을 확인( 기본적으로 Ubuntu가 설치 )
wsl --install -d <Distribution Name>
: 설치된 배포판을 변경
[ 업데이트 및 버전 ]
- Linux 커널 업데이트 패키지 : Windows 운영 체제 이미지 내에서 WSL을 실행하기 위해 WSL2 Linux커널의 최신버전을 설치( x64머신용 )
- wsl -l -v : 설치된 linux 배포판들과 각각의 버전을 확인
- wsl --set-default-<Version#> : 새 Linux 설치는 기본적으로 WSL <Version#>( 1 or 2 )로 설정
- wsl --set-version <distro name> <Version#> : 해당 배포판의 버전변경
[ 삭제 ]
Microsoft Store를 통해 설치할 수 있지만 이를 통해 제거할 수는 없다. command line을 통해서만 제거가 가능하다.
wsl --unregister <DistributionName>
: 해당 wsl 인스턴스를 제거하는 명령
** 참고 : microsoft build https://learn.microsoft.com/ko-kr/windows/wsl/basic-commands
'dev tech' 카테고리의 다른 글
[C++] 디자인패턴 RAII를 이용한 자원관리 (1) | 2024.06.11 |
---|---|
Google Test framework의 기본개념 및 사용법 (0) | 2024.05.20 |
Make 및 Makefile의 개념 및 사용 (0) | 2024.05.20 |
형상관리 Git 사용법 (0) | 2024.03.10 |