반응형

Windows 10에 wsl2 ( Windows Subsystem for Linux )를 설치한 후, Ubuntu 20.04를 설치한 과정을 다루고 있습니다.



2017. 12. 15  최초작성

2021. 05. 19  

2021. 08. 01 최종작성



"Windows Subsystem for Linux"은  윈도우에서 리눅스 환경을 사용할 수  있도록 해줍니다.

리눅스에서 실행되던 대부분의 커맨드 라인 도구, 유틸리티, 어플리케이션을 윈도우에서 실행할 수 있습니다. 

 

이 방법을 사용하면 VirtualBox나 VMware 같은 것을 이용해서 가상 머신을 생성하여 실행할 때 발생하는 오버헤드가 없습니다.보다 적을 듯합니다. 




1. "Windows Subsystem for Linux" 기능을 활성화해야 합니다.  

 

윈도우 키를 누르고 powershell를 입력하면 Windows PowerShell이 검색됩니다.

검색된 항목 위에서 마우스 우클릭하고 메뉴에서 관리자 권한으로 실행을 선택합니다. 

 




다음 명령을 복사하여 PowerShell에서 마우스 우클릭하여 붙여넣기하고  엔터 키를 누릅니다.

 

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

 

 

PowerShell을 계속 사용해야 하니 종료 마세요.



2. 설치가능한지 윈도우 버전을 확인해야 합니다. 

 

WSL 2를 설치하기 위해 요구하는 버전입니다. 

(2021. 5. 19일 현재 기준, 문제 발생시 참고 [1]을 방문하여 확인하세요. )

 

x64 시스템의 경우: 버전 1903 이상, 빌드 18363.1049 이상

ARM64 시스템의 경우: 버전 2004 이상, 빌드 19041 이상



Windows 키 + R 을 누르고, winver 를 입력하고, 확인을 클릭하여 실행합니다.

아래 화면처럼 보이면 빨간색 선을 그은 부분에서 버전을 확인합니다.  

 

 

버전이 맞지 않는 경우 윈도우 업데이트를 해줘야 합니다. 



3.  Virtual Machine 기능을 사용하도록 설정해야 합니다

PowerShell에서 다음 명령을 실행합니다. 

 

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

 



설치를 완료하려면 윈도우 재부팅이 필요합니다.



4.아래 링크에서 x86용  Linux 커널 업데이트 패키지를 다운로드한 후, 실행하여 설치합니다. 

설치에 문제 있는 경우 “참고 [1] 4단계”에서 확인이 필요합니다. 

 

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi 



ARM용은 아래 링크에서 다운로드 하세요.

 

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_arm64.msi 

 



5. WSL 2를 기본 버전으로 설정해야 합니다.  

 

윈도우 키를 누르고 powershell를 입력하면 Windows PowerShell이 검색됩니다.

검색된 항목 위에서 마우스 우클릭하고 메뉴에서 관리자 권한으로 실행을 선택합니다. 

 

PowerShell에서 다음 명령을 실행합니다.

 

wsl --set-default-version 2

 



6. 이제 리눅스 배포판을 설치합니다. 

.

참고 [1]에서 가져온 Microsoft Store의 배포판별 링크입니다

 

Ubuntu 16.04 LTS

https://www.microsoft.com/store/apps/9pjn388hp8c9

 

Ubuntu 18.04 LTS

https://www.microsoft.com/store/apps/9N9TNGVNDL3Q

 

Ubuntu 20.04 LTS

https://www.microsoft.com/store/apps/9n6svws3rx71

 

openSUSE Leap 15.1

https://www.microsoft.com/store/apps/9NJFZK00FGKV

 

SUSE Linux Enterprise Server 12 SP5

https://www.microsoft.com/store/apps/9MZ3D1TRP8T1

 

SUSE Linux Enterprise Server 15 SP1

https://www.microsoft.com/store/apps/9PN498VPMF3Z

 

Kali Linux

https://www.microsoft.com/store/apps/9PKR34TNCV07

 

Debian GNU/Linux

https://www.microsoft.com/store/apps/9MSVKQC78PK6

 

Fedora Remix for WSL

https://www.microsoft.com/store/apps/9n6gdm4k2hnc

 

Pengwin

https://www.microsoft.com/store/apps/9NV1GV1PXZ6P

 

Pengwin Enterprise

https://www.microsoft.com/store/apps/9N8LP0X93VCP

 

Alpine WSL

https://www.microsoft.com/store/apps/9p804crf0395




아래 링크에 접속하여 다시 진행해보았습니다.

 

Ubuntu 20.04 LTS

https://www.microsoft.com/store/apps/9n6svws3rx71 



받기를 클릭합니다.

 



Microsoft Store 열기 클릭합니다. 

 



받기 클릭합니다. 

 




윈도우를 로그인하여 사용하지 않는다면 보일 수 있습니다.

관심 없음을 클릭해도 나중에 또 물어보니 로그인을 해야 합니다. 

 




설치 버튼을 클릭합니다. 

 




앞에서 로그인 하지 않았다면 다시 물어봅니다. 현재는 로그인을 해야 진행이 가능합니다.  

 




다시 다음 화면으로 돌아오는데 설치를 클릭해도 진행이 안되었습니다.

반응이 없었는데 좀 기다리니 설치가 되네요. 다음과 같은 대화상자가 보였습니다. 

 



본 포스트 마지막처럼 삭제후 다시 진행해보니 다음처럼 정상적으로 보입니다. 

 




시작 메뉴에서도 찾아 실행할 수 있습니다.

 




시작을 클릭합니다.

 




설치 마무리가 되면, 생성할 사용자 계정 이름을 입력 후, 엔터를 누릅니다. 

 




계정의 비밀번호를 입력하고 엔터를 누릅니다. 입력한 비밀번호는 보이지 않습니다.

 




한번 더 계정 비밀번호를 입력합니다.

 




성공적으로 생성한 계정으로 로그인이 완료되었습니다.

 




배포판 정보가 다음처럼 나옵니다.

 




7. 이제 윈도우에서 리눅스 명령을 실행해보겠습니다.

 

다음처럼 실행창에서 bash -c 다음에 원하는 명령을 적거나  




명령 프롬프트에서 위와 똑같이 입력하면 

 




잠시 후 다음처럼 vim이 실행된 것을 볼 수 있습니다.

 




다음은 리눅스의 홈 디렉토리 목록을 출력한 예입니다.

실행할 명령에 공백이 있는 경우에는 아래 캡쳐화면처럼  “ ” 큰따옴표 안에 적어주면 됩니다.

 




8. GUI 프로그램을 실행하려면 Xming X Server for Windows(https://sourceforge.net/projects/xming/  )을 설치해줘야 합니다.

 

윈도우키를 누르고 xlaunch를 입력하여 실행합니다. 

 



Multiple windows를 선택합니다.

 



Start no client를 선택하고 다음을 클릭합니다. 

 



“No Access Control”를 체크하고 다음을 클릭합니다. 

 



마침을 클릭합니다.

 



두 항목을 모두 체크하고 액세스 허용을 클릭합니다. 꼭 둘다 체크해야 합니다.

 




9. DNS 서버 IP 주소를 확인합니다.

 

$ cat /etc/resolv.conf

 

 

다음처럼 .bashrc에 다음처럼 추가해줍니다. IP는 앞에서 확인한 것으로 변경하세요. 

 

$ echo "export DISPLAY=172.24.112.1:0" >> ~/.bashrc



설정을 적용합니다.

$ source ~/.bashrc



gedit 패키지를 설치해봅니다.

$ sudo apt-get update

$ sudo apt-get install gedit



실행시켜 봅니다. 

$ gedit



다음처럼 실행되는 것을 볼 수 있습니다.

실행에 문제가 있다면 방어벽 또는  xlaunch 옵션 문제입니다. 

 

한번 설정해서 제대로 동작했는데 이후 문제가 발생한다면 

/etc/resolv.conf 파일에서 nameserver를 다시 확인하여 .bashrc의 마지막 줄의 DISPLAY 값을 수정하세요.

 

/etc/resolv.conf에서 nameserver의 IP를 읽어서 환경변수 DISPLAY에 저장하는 쉘스크립트를 만드는 포스트를 추가했습니다. 

 

https://webnautes.tistory.com/1523

 

WSL 2 - Ubuntu의 resolv.conf에서 읽은 nameserver IP를 DISPLAY 환경변수에 저장하는 스크립트 작성

WSL2에 설치된 우분투에서 GUI 프로그램을 실행하기 위해 /etc/resolv.conf의 nameserver IP를 확인하여 환경변수 DISPLAY에 넣는 과정을 스크립트로 작성한 과정을 다룹니다. 2021. 9. 4 - 최초 작성 윈도우 10

webnautes.tistory.com




10. 이번엔 리눅스에서 윈도우 프로그램을 실행해보겠습니다.

리눅스에서 윈도우에 설치된 엑셀은 다음과 같이 실행합니다.

 

$ /mnt/c/Program\ Files/Microsoft\ Office/root/Office16/EXCEL.EXE



자주 실행되는 명령은 해당 경로는 PATH 환경변수에 입력하면 편합니다.

다음처럼 한 줄을 홈디렉토리에 있는 .bashrc 파일 끝에 추가해주면됩니다.

 

export PATH=$PATH:/mnt/c/Program\ Files/Microsoft\ Office/root/Office16/



환경을 적용하고 나면(또는 배쉬 쉘을 다시 실행) 

 

$ source .bashrc



다음처럼 실행파일 이름만 입력해도 실행이 가능해집니다.

 

$ EXCEL.EXE



윈도우 계정의 바탕화면에 있는 파일 목록은 다음과 같이 접근할 수 있습니다.

 

$ ls -al /mnt/c/Users/webnautes/Desktop

 




11. 다음처럼  Windows Subsystem for Linux 및 Ubuntu 를 삭제합니다.

 

관리자 권한으로 실행한 PowerShell에서 진행해야 합니다. 



설치된 배포판을 확인합니다. (/ 다음에 오는 문자는 소문자 L입니다. )

 

wslconfig.exe /l

 




설치된 배포판을 삭제합니다. 앞에서 확인한 이름을 적어줘야 합니다. 

 

wslconfig.exe /u Ubuntu-20.04

 



시작 메뉴에는 항목이 남아 있습니다.

 



마우스 우클릭하여 제거를 선택해주어야 삭제가 됩니다. 

 




하지만 Microsoft Store에는 다운로드가 된 것으로 표시됩니다. 

 




참고

[1] 

https://docs.microsoft.com/ko-kr/windows/wsl/install-win10   



[2] https://www.pcworld.com/article/3055403/windows/windows-10s-bash-shell-can-run-graphical-linux-applications-with-this-trick.html 

 

[4] https://jakupsil.tistory.com/36 

 

[5] https://positivemh.tistory.com/584 

 

반응형

해본 것을 문서화하여 기록합니다.


포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
질문을 남겨주면 가능한 빨리 답변드립니다.


제가 쓴 책도 한번 검토해보세요 ^^

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기

댓글을 달아 주세요

">
  1. thumbnail
    Favicon of https://dodohan-horangii.tistory.com BlogIcon 도도한호랑이

    감사 ㅠㅠ 해요

  2. thumbnail
    Favicon of https://balparang.tistory.com BlogIcon 발파랑

    20.04 LTS를 먼저 설치하고나서 실행하고보니 WSL머시기 오류가 떠서 난처해하고 있었는데 당 블로그처럼 파워쉘에서 두 줄 입력하고 리눅스 커널 업데이트(?) 해주고나서 다시 20.04 실행시키니까 정상적으로 동작하네요. 왜 된건지는(?) 모르겠지만 여하튼 덕분에 에러 잘 해결하고 갑니다. 감사합니다.