- 들어가기에 앞서
- WSL
- Windows Subsystem for Linux
- 윈도우10에서 리눅스 실행 파일(ELF)를 실행하기 위한 compatibility layer다.
- ELF
- Executable and Linkable Format
- 리눅스, 유닉스의 File format이다.(윈도우는 PE format)
- ELF
- 윈도우에서 GNU/Linux 환경의 파일, 명령어들을 실행시킬 수 있게 된다.
- 기존의 cmd가 아닌 lunux kernal의 terminal을 이용할 수 있다.
- 하지만 docker도 돌아가긴 하지만 여러가지 설정을 해줘야하는 등,, 조금 어거지스러운 점이 있었다.
- WSL2
- Hyper-v를 사용하여 vm환경에서 linux를 돌릴 수 있게 되었다. 하지만, 기존의 vm환경과는 다르다고 한다.
- 기존의 VM환경보다 부팅속도가 빠르며 리소스를 적게 사용하며 windows와 linux간의 호환성을 제공한다. 또한, VM을 구성하거나 관리할 필요가 없다.
- WSL vs WSL2
- WSL은 linux가 돌아가고 메모리 관리를 윈도우 프로세서가 가져와서 한다.
- WSL2는 Hyper-v위에 윈도우와 linux를 돌리는 것이기 때문에, VM과 같은 환경이라고 보면 된다. 따라서, 메모리 관리도 linux에서 직접 하게 된다.
- Windows에서 Linux에 네트워킹
- WSL환경과 달리 WSL2는 가상머신 환경이므로 ip를 알아야 한다.
- WSL로 실행했을 경우 windows host ip와 ubuntu ip가 같다.
ip addr명령어를 실행하여eth0의ip값을 확인해야 한다.
- WSL환경과 달리 WSL2는 가상머신 환경이므로 ip를 알아야 한다.
- Linux에서 Windows에 네트워킹
- 호스트 머신의
ip주소를 사용해야 한다. -
cat /etc/resolv.conf
- 호스트 머신의
- WSL
- 설치
- Terminal 설치
- 윈도우 스토어에서
terminal을 검색하여 설치한다.
- 윈도우 스토어에서
- WSL2 활성화
-
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
-
- 재부팅
- 클릭하여 WSL2 설치
- Virtual Machine 기능 사용
-
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
-
- 윈도우 스토어에서
ubuntu를 설치한다.- Quick Create Virtual Machine으로 설치가 안되는 경우 수동으로 재시작하여 준다.
- windows security
- App & Browser control
- Exploit protection
- Program settings
C:\Windows\System32\vmcompute.exe를 edit하여Control flow guard에서Override system settings를 체크 해제시켜준다.- 터미널에서 명령어 입력
-
net start vmcompute
-
- Quick Create Virtual Machine으로 설치가 안되는 경우 수동으로 재시작하여 준다.
- WSL2를 기본 버전으로 설정
-
wsl --set-default-version 2
-
ubuntu를 실행하여 계정설정을 한다.
- Terminal 설치
- 설치 후
ubuntu를 실행하여 정상 작동하는지 확인- 작동이 안될 경우 다음을 확인
ctrl+shift+esc을 눌러서비스에서LxssManager를 재시작한다.- 또는 재부팅
- 관리자 권한으로
terminal을 연다. wsl2로ubuntu가 실행되고 있는지 확인-
wsl -l -v
ubuntu버전이1이라면2로 변경해줘야 한다.-
wsl --set-version Ubuntu 2
-
-
- 도커 실행
- 도커
설정의Resource에서WSL INTEGRATION부분의Ubuntu를 활성화해주면ubuntu에서도 명령어를 통해docker를 실행시킬 수 있다.
- 도커
- IP체크
ip addrcommand를 통해ip를 확인해보면window의ip와Gateway가 다른 것을 확인할 수 있다. 이는vm의 환경이기 때문이며, 진짜vm의 환경과는 또 차이가 있다.