Microsoft/Windows

첫 WSL 설치

구차니 2023. 1. 7. 19:58

다 해서 5분도 안걸려 설치한 느낌인데..

아무튼 기본값으로는wsl2 / ubuntu가 설치된다는 듯?

[링크 : https://learn.microsoft.com/ko-kr/windows/wsl/install]

 

C:\>wsl --install
요청한 작업을 수행하려면 권한 상승이 필요합니다.
설치 중: 가상 머신 플랫폼
가상 머신 플랫폼이(가) 설치되었습니다.
설치 중: Linux용 Windows 하위 시스템
Linux용 Windows 하위 시스템이(가) 설치되었습니다.
설치 중: Linux용 Windows 하위 시스템
Linux용 Windows 하위 시스템이(가) 설치되었습니다.
설치 중: Ubuntu
Ubuntu이(가) 설치되었습니다.
요청한 작업이 잘 실행되었습니다. 시스템을 다시 시작하면 변경 사항이 적용됩니다.

 

리부팅 필요하다니까 리부팅 하고 wsl 입력하니

C:\>wsl
Linux용 Windows 하위 시스템에는 설치된 배포판이 없습니다.

'wsl.exe --list --online'을 사용하여 사용 가능한 배포판을 나열하고
 'wsl.exe --install <Distro>'를 사용하여 설치하세요.

배포판은 Microsoft Store
(https://aka.ms/wslstore)를 방문하여 설치할 수도 있습니다.
Error code: Wsl/Service/CreateInstance/GetDefaultDistro/WSL_E_DEFAULT_DISTRO_NOT_FOUND

 

한 체감 10분 기다리니 아래와 같이 계정 생성을 하고

 

다른 cmd 창에서 wsl 이라고 입력하니 바로 로그인 된다.

C:\>wsl
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

minimonk@DESKTOP-Q4DCTJN:/mnt/c/Users/free$

 

일단은.. 22.04가 설치되고, eth0에 못보던 아이피가 설정되는데

윈도우 쪽에서 wsl의 ssh로 접속하려면 어떤 과정이 또 필요하려나?

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS"

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: bond0: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether f6:3c:1e:e2:57:59 brd ff:ff:ff:ff:ff:ff
3: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether d2:99:9f:46:37:30 brd ff:ff:ff:ff:ff:ff
4: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/ipip 0.0.0.0 brd 0.0.0.0
5: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/sit 0.0.0.0 brd 0.0.0.0
6: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:15:5d:97:d7:20 brd ff:ff:ff:ff:ff:ff
    inet 192.168.182.99/20 brd 192.168.191.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::215:5dff:fe97:d720/64 scope link
       valid_lft forever preferred_lft forever

 

윈도우에서 ipconfig 해보니 vEthernet (WSL) 이라는 인터페이스가 생기고

192.168.176.1로 연결되도록 되나보다. 일종의 NAT 기능을 제공하는 건가?

C:\>ipconfig /all

이더넷 어댑터 vEthernet (WSL):

   연결별 DNS 접미사. . . . :
   설명. . . . . . . . . . . . : Hyper-V Virtual Ethernet Adapter
   물리적 주소 . . . . . . . . : 00-15-5D-AE-B1-6C
   DHCP 사용 . . . . . . . . . : 아니요
   자동 구성 사용. . . . . . . : 예
   링크-로컬 IPv6 주소 . . . . : fe80::e529:82e:c987:9956%39(기본 설정)
   IPv4 주소 . . . . . . . . . : 192.168.176.1(기본 설정)
   서브넷 마스크 . . . . . . . : 255.255.240.0
   기본 게이트웨이 . . . . . . :
   DHCPv6 IAID . . . . . . . . : 654316893
   DHCPv6 클라이언트 DUID. . . : 00-01-00-01-2B-49-2A-0B-F8-63-3F-13-0F-1F
   DNS 서버. . . . . . . . . . : fec0:0:0:ffff::1%1
                                 fec0:0:0:ffff::2%1
                                 fec0:0:0:ffff::3%1
   Tcpip를 통한 NetBIOS. . . . : 사용

[링크 : https://bebutae.tistory.com/198]

 

그나저나 wsl guest OS는 종료가 안되는 듯?

$ sudo shutdown -h now
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
Failed to talk to init daemon.

 

네트워크가 NAT로 기본으로 잡히는데 Virtualbox나 vmware처럼 bridge로 돌릴수도 있는데

그 작업을 하려면 Hyper-V 관리자라는게 있어야 하는 듯.

명령어 줄에서 WSL만 설치해서 그런가 의존성이 있는 관리 패키지가 없어서 그런것 같긴하네..

[링크 : https://www.clien.net/service/board/park/14995027]

[링크 : http://shaun289.blogspot.com/2020/06/wsl2-ubuntu-2004.html]

 

Hyper-V 관리자 활성화 하기(설치)

다만 Win10 Home은 Hyper-v 관리자 지원이 되지 않는 듯?

[링크 : https://learn.microsoft.com/ko-kr/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v]

 

파워셸 명령을 이용해서 방화벽 열고 포트포워딩 설정해주는 듯?

[링크 : https://jackcokebb.tistory.com/18]

 

+

wsl --shutdown

명령을 이용해서 wsl을 종료할 수 있다.

[링크 : https://sungkim11.medium.com/why-you-should-use-multiple-instances-of-same-linux-distro-on-wsl-windows-10-f6f140f8ed88]

 

+

hyper-v 관리자를 쓸 수 없다면

명령줄로 간접적으로 제어만 가능하지, 편리하게 여러개의 인스턴스를 구동하는 식으로는 사용이 쉽지 않을 듯..