Windows Subsystem for Linux 입니다.
윈도우에서 리눅스 커널을 설치하여 리눅스를 사용 할 수 있게 만들어주는 MS에서 제공하는 기술입니다.
기존엔 Oracle VM, VMware 같은 프로그램을 사용하여 가상 환경을 구성하여 사용하게 되면
내 PC와 자원이 분리가 되어 리눅스가 실행됩니다.
WSL을 사용하게 되면 Docker와 비슷한 개념으로 내 PC의 자원을 공유하여 같이 사용하게 됩니다.
즉, CPU와 메모리, 디스크를 윈도우와 같은 레벨로 사용하며 리눅스에서 윈도우의 파일시스템에도 접근할 수 있습니다.
Ctrl + Shift + Enter를 눌러도 되고
마우스 오른쪽 클릭하여 관리자 권한으로 실행을 눌러도 됩니다.
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
wsl --set-default-version 2
x64용 패키지 다운👈(z클릭!)
ARM64용 패키지 다운👈(클릭!) 링크를 못 믿겠다면 공식 페이지 클릭 👈
https://docs.microsoft.com/ko-kr/windows/wsl/install-manual
뭘 받아야 할지 모르겠다면..
systeminfo를 입력하여 시스템 종류를 찾아보세요!
다운받은 파일을 압축 해제 -> 원하는 경로로 옮기기
-> .exe 파일 원하는 이름으로 변경
(이름 띄어쓰기나 특수문자는 안하시는게 좋습니다.... feat. PKM 박제..)
-> 실행
실행하시면 자동으로 설치가 이루어집니다.
다시 클릭하여 실행
패키지 최신 업데이트
yum -y update
systemctl 패치
초기 systemctl 명령어가 정상 수행되지 않습니다.
아래 패치가 필요합니다.
vi 편집기를 이용하여 아래 스크립트를 생성 해 줍니다.
vi systemctl_patch.sh
파일명 : systemctl_patch.sh
#!/bin/bash
mv /usr/bin/systemctl /usr/bin/systemctl.old
curl https://raw.githubusercontent.com/gdraheim/docker-systemctl-replacement/master/files/docker/systemctl.py > /usr/bin/systemctl
chmod +x /usr/bin/systemctl
exit 0
파일 권한 변경
chmod 770 systemctl_patch.sh
실행
./systemctl_patch.sh
ssh 재설치
yum remove -y openssh-server openssh-clients
yum install -y openssh-server openssh-clients
sshd 데몬 config 수정
vi /etc/ssh/sshd_config
위와 같이 수정하여 줍니다.
ESC + :wq (내용 저장)
ssh 키 생성
ssh-keygen -A
ssh 서비스 중지 & 실행
systemctl restart sshd
ssh 서비스 확인
netstat -ntlp
sshd 데몬을 통한 22 port가 open되었는지 확인
WSL 종료하기
wsl -l -v
Running 상태이면 종료를 시켜줍니다.
종료 명령어 👇
wsl -t (머신 이름 입력)
계속 명령어 입력하기 귀찮습니다.... 그죠?
"메모장을 열어주세요"
파일명 : CentOS7_ShutDown.bat (꼭 확장자 이름은 bat로 저장하셔야 합니다.)
WSL 기동하기
배치파일을 만들겠습니다. 메모장을 열어주세요
파일명 : CentOS7_StartUp.bat (꼭 확장자 이름은 bat로 저장하셔야 합니다.)
eth0의 IP는 DHCP이기 때문에 고정 IP를 할당 해 주기 위해 아래와 같은 작업이 필요합니다.
wsl -d (머신 이름) -u root ip addr add 192.168.254.16/24 broadcast 192.168.50.255 dev eth0 label eth0:1
netsh interface ip add address "vEthernet (WSL)" 192.168.254.100 255.255.255.0
저장 후 실행해주세요
WSL 실행 상태 확인 (PowerShell)
기동 된 모습
ip가 설정 된 모습
IP 확인 (Linux)
ifconfig
eth0 NIC를 활용하여 바인드되어 eth0:1 nic가 생성되고, ip는 192.168.254.16 입니다.
1. sshd 서비스 실행
systemctl start sshd
2. putty를 이용하여 접속 해 봅니다.
접속 성공!🎉🎉
VM 등의 무거운 세팅을 하지 않고도 간단히 리눅스를 실행하여 테스트를 진행 해 볼 수 있으며,
가상머신의 리소스 부족 현상을 조금이나마 줄 일 수 있다는 점이 좋은거 같습니다.
고생하셨습니다!👏👏