- 필요 : Windows 10 빌드 19041 ( 2020/05 업데이트 )
- 윈도우 OS에서 동작하는 리눅스 wsl2 사용방법
- 리눅스 서버를 구동하고 윈도우에서 접속할 수도 있다.
- 주의! 버츄얼박스(VirtualBox)가 비정상 동작을 할 수도 있다.
//-----------------------------------
< WSL 설치 방법 >
- 아래의 2개 명령은 'Windows 기능 켜기/끄기'의 커맨드라인 명령
- Linux용 Windows 하위 시스템(WSL) 기능 켜기
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
- 가상 머신 플랫폼(Virtual Machine Platform) 기능 켜기
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
- 재부팅
- Linux 커널 업데이트 패키지 설치
x64 머신용 최신 WSL2 Linux 커널 업데이트 패키지 다운로드
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
- WSL 2를 기본 버전으로 설정 변경
wsl --set-default-version 2
- 버전 확인
wsl -l -v
//-------------------------
- 리눅스 배포판 설치
Microsoft Store 실행
linux로 검색 -> 배포판 선택
Ubuntu 18.04 LTS
https://www.microsoft.com/ko-kr/p/ubuntu-1804-lts/9n9tngvndl3q?rtc=1&activetab=pivot:overviewtab
설치를 실행하면 리눅스 콘솔 창이 나타나면서 username입력을 요구한다.
-> username과 password를 입력한다
//-----------------------------------------------------------------------------
//------------------------------------------
- WSL이 설치된 윈도우 경로
Ubuntu 18.04의 경우
C:\Users\사용자ID\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc
- WSL2는 가상머신에서 동작하므로 윈도우 탐색기로 리눅스 파일을 바로 볼수 없다
//-------------------------------------
- 설치된 경로 보기 (PowerShell)
Get-ChildItem "HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss" -Recurse
//-----------------------------------------------------------------------------
//----------------------
- 리눅스 콘솔 실행 명령
wsl
//-----------------------------------------
< Windows Terminal 활용 >
- 윈도우 터미널을 설치하면 좀더 편리하게 WSL를 사용할수 있음
- 설치
https://www.microsoft.com/ko-kr/p/windows-terminal/9n0dx20hk701?activetab=pivot:overviewtab
- 테마 설정 방법
//------------------------------------
- 윈도우 터미널의 기본 쉘을 리눅스로 설정 하는 방법
터미널 설정(Ctrl + ,) -> settings.json 수정
-> defaultProfile 항목을 리눅스 프로파일 id(guid)로 변경
- 예)
{
"$schema": "https://aka.ms/terminal-profiles-schema",
"defaultProfile": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
...
//------------------------------------
- 명령어 옵션으로 윈도우 터미널을 리눅스 쉘로 시작 (command line arguments options)
wt -p "프로파일 이름"
- 프로파일 이름은 터미널 설정(Ctrl + ,) -> settings.json에 설정되어 있는 이름
- 예)
wt -p "Ubuntu-18.04"
//-----------------------------------------------------------------------------
기본 사용자 설정
- 시작을 root로 시작하지 않고 ubuntu 계정으로 시작하기
https://superuser.com/questions/1566022/how-to-set-default-user-for-manually-installed-wsl-distro
- /etc/wsl.conf 파일 수정
[user]
default=ubuntu
- 수정후 wsl 재시작(종료, shutdown)
wsl --shutdown
- 다른 방법(terminate)
wsl -l # 배포판 리스트
wsl --terminate 배포판이름
//----------------------------------------------------
< WSL 사용법 >
https://docs.microsoft.com/en-us/windows/wsl/interop
- 윈도우에서 리눅스 명령 실행
- 파워쉘(Windows Power Shell) 에서 WSL의 리눅스 명령 실행
- wsl 명령서 사용
PS > wsl ls -la ~
- 리눅스 사용자 홈
PS > wsl ls -la "/mnt/c/Program Files"
- 윈도우 C:\Program Files
PS > wsl sudo apt-get update
- 리눅스 업데이트
//-------------------------------------
- WSL(리눅스 콜솔)에서 윈도우 명령 실행
- WSL은 윈도우 프로그램을 바로 실행 가능, 뒤에 .exe 까지 붙힌다
$ ipconfig.exe | grep IPv4 | cut -d: -f2
- 리눅스 파이프 사용가능
$ notepad
//-------------------------------
- WSL에서 윈도우 명령 실행 안되게 설정
echo 0 > /proc/sys/fs/binfmt_misc/WSLInterop
- 다시 가능하게 설정
echo 1 > /proc/sys/fs/binfmt_misc/WSLInterop
//----------------------------------
< OS간 파일 제어 >
- WSL2는 가상머신에서 동작하므로 윈도우 탐색기로 리눅스 파일을 바로 볼수 없다
- 리눅스에서 윈도우 D:\Z 로 복사
$ cp file1.txt "mnt/d/z"
- 윈도우에서 리눅스로 파일 복사
> copy file2.txt \\wsl$\Ubuntu-18.04\home\ubuntu
- 윈도우에서 리눅스 네트워크 드라이브로 연결 방법
탐색기 -> 내컴퓨터에서 마우스 우클릭 -> 네트워크 드라이브 연결
-> 폴더 : \\wsl$\Ubuntu-18.04
//-----------------------------------------------------------------------------
< 드라이브 연결(마운트) 방법 >
- 윈도우 -> WSL
> net use Z: "\\wsl$\Ubuntu-22.04"
net use Z: "\\wsl$\Ubuntu-22.04\home" <=== 에러 발생
- WSL -> 윈도우
$ mkdir /home/ubuntu/win-data
$ sudo mount -t drvfs "D:\Data" /home/ubuntu/win-data
//-----------------------------------------------------------------------------
- '이 경로에 윈도우 터미널 열기' 파일 탐색기 마우스 우클릭 메뉴 추가 레지스트리
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\wtcmd]
@="이 경로에 윈도우 터미널"
"icon"="d:\\util\\icon\\wt_32.ico"
[HKEY_CLASSES_ROOT\Directory\shell\wtcmd\command]
@="C:\\Users\\사용자ID\\AppData\\Local\\Microsoft\\WindowsApps\\wt.exe -d \"%V\""
- 경로 주의!! 환경변수를 사용한 경로를 사용할 수 없다(에러 발생)
- 다음의 경로는 레지스트리에 사용할 수 없다.
"%USERPROFILE%\AppData\Local\Microsoft\WindowsApps\wt.exe"
"%LOCALAPPDATA%\\Microsoft\\WindowsApps\\wt.exe"
//-------------------------------------------------------------------------------
* wsl2 root 비밀번호 분실시 해결 방법
- 기본 접속 계정 설정
- 명령어 주의! wsl이 아니고 ubuntu.exe
- Ubuntu-18.04 배포판의 경우는 ubuntu1804.exe
ubuntu.exe config --default-user root
- wsl 접속
wsl
- root 패스워드 변경
passwd
//-------------------------------
* 배포판(distribution) 관리
https://docs.microsoft.com/en-us/windows/wsl/wsl-config
- 설치된 배포판 리스트
wsl -l
- 결과 예
Linux용 Windows 하위 시스템 배포:
Ubuntu(기본값) <--- ubuntu.exe
docker-desktop-data
docker-desktop
Ubuntu-18.04 <--- ubuntu1804.exe
- 기본 실행할 배포판 지정 설정
wsl --setdefault 배포판이름
- 등록삭제(리스트에서 삭제)
wsl --unregister 배포판이름
- 배포판 지정 실행
wsl -d docker-desktop
wsl -d Ubuntu-18.04
//-----------------------------------------------------------------------------
< wsl 에서 CUDA Toolkit 설치 방법 (wsl cuda) >
- 윈도우에서 윈도우용 nvidia 그래픽 드라이버 설치
https://www.nvidia.co.kr/Download/index.aspx?
- CUDA 설치(다운로드)
https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=WSL-Ubuntu&target_version=2.0&target_type=deb_local
Linux -> x86_64 -> WSL-Ubuntu -> 2.0 -> deb (network)
표시되는 설치 명령 실행
- 명령예) CUDA 12.4 설치
$ wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.1-1_all.deb
$ sudo dpkg -i cuda-keyring_1.1-1_all.deb
$ sudo apt-get update
$ sudo apt-get -y install cuda-toolkit-12-4
- CUDA 버전 확인
nvidia-smi
//-----------------------------------------------------------------------------
// 참고
Windows 10에 Linux용 Windows 하위 시스템 설치 가이드
https://docs.microsoft.com/ko-kr/windows/wsl/install-win10
WSL 1과 WSL 2 비교
https://docs.microsoft.com/ko-kr/windows/wsl/compare-versions
'IT' 카테고리의 다른 글
[Tips] 엣지 브라우저 캐시 폴더 변경 방법 (1) | 2020.10.02 |
---|---|
[윈도우] WSL(Windows Subsystem for Linux) 2 와 VirtualBox 동시 사용시 에러 발생 (2) | 2020.09.30 |
ASUS 공유기로 음악 스트리밍 서버 만들기 (0) | 2020.09.23 |
윈도우 10 단축키 정리 (0) | 2020.09.17 |
OCR 소프트웨어 추천 - ABBYY FineReader PDF (0) | 2020.09.04 |