[WSL] 끔찍한 혼종의 윈눅스
- WSL ❓
Windows Subsystem for Linux 입니다.
윈도우에서 리눅스 커널을 설치하여 리눅스를 사용 할 수 있게 만들어주는 MS에서 제공하는 기술입니다.
기존엔 Oracle VM, VMware 같은 프로그램을 사용하여 가상 환경을 구성하여 사용하게 되면 내 PC와 자원이 분리가 되어 리눅스가 실행됩니다.
WSL을 사용하게 되면 Docker와 비슷한 개념으로 내 PC의 자원을 공유하여 같이 사용하게 됩니다.
즉, CPU와 메모리, 디스크를 윈도우와 같은 레벨로 사용하며 리눅스에서 윈도우의 파일시스템에도 접근할 수 있습니다.
- WSL 설치 📀
1. 윈도우 PowerShell을 관리자 권한으로 오픈
Ctrl + Shift + Enter를 눌러도 되고
마우스 오른쪽 클릭하여 관리자 권한으로 실행을 눌러도 됩니다.
2. Linux용 Windows 하위 시스템 사용하기
- 아래 명령어 복사해서 붙여 넣고 실행해주세요
> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
3. Virtual Machine 기능 사용하기
- 아래 명령어 복사해서 붙여 넣고 실행해주세요
> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
- PC 재부팅 필수! (윈도우 업데이트가 생겼다면 윈도우 업데이트도 필요합니다.)
(윈도우 11로 OS를 업그레이드 필요 X)
- wsl 기본 버전 선택
> wsl --set-default-version 2
4. Linux 커널 업데이트 패키지 다운로드
x64용 패키지 다운👈(z클릭!)
ARM64용 패키지 다운👈(클릭!)링크를 못 믿겠다면 공식 페이지 클릭 👈
https://docs.microsoft.com/ko-kr/windows/wsl/install-manual
뭘 받아야 할지 모르겠다면..
systeminfo를 입력하여 시스템 종류를 찾아보세요!
5. Linux 커널 업데이트 패키지 설치
- 방금 다운받으신 파일 설치 해주시면 됩니다.
6. OS 다운 및 설치
- CentOS 7.9 (저는 이걸로 설치하겠습니다.)
https://github.com/mishamosher/CentOS-WSL/releases/tag/7.9-2111 👈 (새 창)- 다른 OS는 Microsoft Store에서 검색하여 간단히 설치 가능합니다.
7. CentOS 7.9 설치
다운받은 파일을 압축 해제 -> 원하는 경로로 옮기기
-> .exe 파일 원하는 이름으로 변경
(이름 띄어쓰기나 특수문자는 안하시는게 좋습니다.... feat. PKM 박제..)
-> 실행
실행하시면 자동으로 설치가 이루어집니다.
- WSL 설정 및 실행 ⚙
1. 기본 설정(systemctl, sshd)
- 다시 클릭하여 실행
- 패키지 최신 업데이트
> 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되었는지 확인
2. 실행, 종료 배치파일 생성 & 가상 ip 부여하기
- WSL 종료하기
wsl 목록 확인> wsl -l -v
Running 상태이면 종료를 시켜줍니다.
종료 명령어 👇> wsl -t (머신 이름 입력)
계속 명령어 입력하기 귀찮습니다.... 그죠?
메모장을 열어주세요
파일명 : CentOS7_ShutDown.bat (꼭 확장자 이름은 bat로 저장하셔야 합니다.)wsl -t 머신 이름 입력
- 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 입니다.
- SSH 원격 접속 📡
1. sshd 서비스 실행
systemctl start sshd
2. putty를 이용하여 접속 해 봅니다.
접속 성공!🎉🎉
- 윈도우와 파일시스템을 함께 쓰고 있는 부분을 통해 자원 공유를 간단히 확인 해 볼 수 있습니다.
VM 등의 무거운 세팅을 하지 않고도 간단히 리눅스를 실행하여 테스트를 진행 해 볼 수 있으며,
가상머신의 리소스 부족 현상을 조금이나마 줄 일 수 있다는 점이 좋은거 같습니다.
고생하셨습니다!👏👏
Author And Source
이 문제에 관하여([WSL] 끔찍한 혼종의 윈눅스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@johoon815/WSL-끔찍한-혼종의-윈눅스저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)