일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- iGPSPORT
- 둠
- 제주도
- 한강
- ARM
- 휴양림
- 여행
- cross compile
- 갤럭시 핏3
- 아마추어무선
- Termux
- 어린이
- BSC100S
- 크로스 컴파일
- 페루
- 체험학습
- 스마트폰 리눅스
- 한강 라이딩코스
- 일본
- 비욘드트러스트
- 도쿄
- 대만
- 가족여행
- 태블릿 리눅스
- FT-8
- 갤럭시 핏2
- 캠핑
- 박물관
- 딸래미
- ubuntu 24.04
- Today
- Total
주희아빠의 헝그리 라이딩
WSL 1 vs WSL 2 실질적인 차이점 본문
2023.11.1
WSL 1 vs WSL 2 실질적인 차이점
최근 얼마간 WSL1 과 WSL2 를 사용해 보면서 실제로 차이가 나는 몇가지를 발견하였습니다.
공식적으로 마이크로소프트에서 말하는 차이점은 아래 링크를 참고해 주십시오.
https://learn.microsoft.com/ko-kr/windows/wsl/compare-versions
사실 읽어봐도 저는 잘 모르겠습니다. 대부분의 경우는 WSL2 가 더 좋으므로 그냥 이것을 이용하면 됩니다.
1. 파일의 저장되는 형태가 다릅니다.
WSL1 은 다음처럼 windows 의 실제 파일시스템으로 존재합니다. 거의 모든 점에서 WSL2 유리하지만 WSL1 의 유일한 장점이 파일 액세스 속도라고 하는데 아마 이때문이 아닐까 싶습니다.
파일이 저장되는 경로는 다음과 같습니다.
C:\Users\multitab\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState
한칸 아래인 rootfs 에 들어가 보면 다음처럼 리눅스 파일시스템이 그대로 존재하는 것을 볼 수 있습니다.
WSL2 는 다음처럼 단일 파일로 구성됩니다. 일반적으로 보던 다른 VM 에서의 형태와 유사하군요. 다른 vm 관리자에 물리면 바로 돌아가려나???
중간에 WSL 버전을 1과 2에서 서로 오가면 이 때 파일이 컨버팅되는 임시 상황도 볼 수 있습니다.
일반 파일시스템과 vhdx 디스크가 동시에 존재함.
2. WSL1 에서는 디스크관련 몇가지 문제가 발생하는 것을 발견했습니다.
/dev/ 아래 loop 장치가 안잡힙니다. 그래서 이 장치를 사용하는 스크립트의 경우는 문제가 생겼습니다.
추가로 lspci 명령어도 동작하지 않습니다.
WSL2 에서는 /dev/loop* 장치들이 올바르게 나오고 lspci 명령어도 잘 수행됩니다.
3. X11 어플리케이션 바로 사용 여부
원래 X11 어플리케이션의 경우는 별도로 DISPLAY=ip:0 의 세팅을 해주고 Windows 쪽에 X-Server 역할을 해주는 X-Manager 나 mobaxterm 같은 것을 띄워주어야 화면을 받을 수 있습니다.
예) export DISPLAY=192.168.1.5:0 <-- windows 의 ip.
WSL1 에서는 당연히 이렇게 동작하는데 WSL2 에서는 별도의 설정 없이도 X 관련 어플리케이션을 띄울 수 있습니다.
사진은 위에 것 참조. 오랜만에 보는 'xclock'...
그렇다고 다른 머신의 Terminal 에서 띄운 프로그램까지 X 를 사용할 수 있는건 아닙니다. WSL 에서 실행되는 것에 대해서만 받아줍니다.
나중에 또 차이점을 발견하면 업데이트하도록 하겠습니다.
Tip 1 . wsl 버전 1 과 2 변환하기. 필요에 따라 wsl1 과 wsl2 를 변환할 수 있습니다. 변환에 필요한 시간은 사용한 디스크양에 따라 달라집니다.
Tip 2. WSL 의 리눅스 저장 파일 옮기기.
c: 드라이브 공간이 부족해서 d: 로 옮기거나 아예 다른 컴퓨터로 이동할 수도 있습니다.
솔직히 이런 구석에 쳐 박혀 있으면 관리도 안됩니다.
C:\Users\multitab\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState
-- windows 쪽 cmd 창 혹은 powershell 에서 진행
C:\Users\multitab> wsl -l -v
NAME STATE VERSION
* Ubuntu Running 2
Ubuntu-20.04 Stopped 2
C:\Users\multitab> wsl --export ubuntu-20.04 c:\temp\ubuntu.tar
내보내기가 진행 중입니다. 이 작업은 몇 분 정도 걸릴 수 있습니다.
작업을 완료했습니다.
-- 바로 import 하면 같은 이름이 있다고 오류가 납니다. 기존것을 지워주고 진행합니다.
C:\Users\multitab> wsl --unregister ubuntu-20.04
등록 취소 중입니다.
작업을 완료했습니다.
-- 새로 옮겨갈 디렉토리를 지정해 줍니다.
C:\Users\multitab> wsl --import ubuntu-20.04 c:\home\ubuntu-20.04 c:\temp\ubuntu.tar
가져오기가 진행 중입니다. 이 작업은 몇 분 정도 걸릴 수 있습니다.
작업을 완료했습니다.
-- export/import 를 진행하면 기본접속 유저 정보가 날아갑니다. 다시 설정해 줍니다.
-- 명령어는 ubuntu, ubuntu2004 처럼 구분됩니다.
C:\Users\multitab> ubuntu2004 config --default-user multitab
C:\Users\multitab> dir c:\home\ubuntu-20.04\
C 드라이브의 볼륨: Windows10
볼륨 일련 번호: 2AD2-3996
c:\home\ubuntu-20.04 디렉터리
2023-11-17 오후 08:59 <DIR> .
2023-11-17 오후 08:59 <DIR> ..
2023-11-17 오후 09:19 4,374,659,072 ext4.vhdx
1개 파일 4,374,659,072 바이트
2개 디렉터리 107,668,172,800 바이트 남음
Tip 3. wsl ubuntu 호출 명령어
wsl 에 여러벌의 리눅스가 설치된 경우 각각 고유의 이름을 가지게 됩니다. 보통 처음에 설치한 것은 ubuntu 이고 이후에는 버전명이 붙는 것 같습니다. 이 이름으로 바로 시작을 하거나 위에처럼 config 를 변경할 때도 사용 됩니다.
다음 경로를 보면 실행 파일을 찾을 수 있습니다. 본인의 유저 디렉토리로 치환하여 봐주십시오.
C:\Users\multitab\AppData\Local\Microsoft\WindowsApps
Tip 4. WSL Ubuntu 24.04 버전 추가 설치하기. 2024.6.15.
'시작' 버튼 누르면 바로가기가 생겼겠지만 cmd 에서 실행하려면 ubuntu2404 를 실행해 주면 됩니다.
C:\Users\multitab>wsl --list --online
다음은 설치할 수 있는 유효한 배포판 목록입니다.
'wsl.exe --install <Distro>'를 사용하여 설치합니다.
NAME FRIENDLY NAME
Ubuntu Ubuntu
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
Ubuntu-22.04 Ubuntu 22.04 LTS
Ubuntu-24.04 Ubuntu 24.04 LTS
OracleLinux_7_9 Oracle Linux 7.9
OracleLinux_8_7 Oracle Linux 8.7
OracleLinux_9_1 Oracle Linux 9.1
openSUSE-Leap-15.5 openSUSE Leap 15.5
SUSE-Linux-Enterprise-Server-15-SP4 SUSE Linux Enterprise Server 15 SP4
SUSE-Linux-Enterprise-15-SP5 SUSE Linux Enterprise 15 SP5
openSUSE-Tumbleweed openSUSE Tumbleweed
C:\Users\multitab>wsl --install ubuntu-24.04
설치 중: Ubuntu 24.04 LTS
Ubuntu 24.04 LTS이(가) 설치되었습니다.
Ubuntu 24.04 LTS을(를) 시작하는 중...
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: multitab
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
Welcome to Ubuntu 24.04 LTS (GNU/Linux 5.15.153.1-microsoft-standard-WSL2 x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/pro
System information as of Sat Jun 15 22:22:21 KST 2024
System load: 0.41 Processes: 30
Usage of /: 0.1% of 1006.85GB Users logged in: 0
Memory usage: 4% IPv4 address for eth0: 172.26.26.152
Swap usage: 0%
This message is shown once a day. To disable it please create the
/home/multitab/.hushlogin file.
multitab@MULTITAB-T420S:~$
'나름 IT 이야기' 카테고리의 다른 글
ARM 환경에서 둠 실행하기. II편 - Cross Compile (0) | 2023.11.11 |
---|---|
ARM 환경에서 둠 실행하기. I 편 - 개요/ x86 시도. (0) | 2023.11.11 |
갤럭시 워치4 vs 갤럭시 핏2 (0) | 2023.06.30 |
Acer One 13 노트북 배터리 교체 (3) | 2023.03.29 |
리눅스 메이저 버전에 따른 glibc 버전 비교 - Redhat, CentOS, Rocky, Amazon Linux (0) | 2023.03.25 |