OS/Windows

[WSL] Windows 10에서 Linux 의 사용

TechNote.kr 2019. 8. 4. 11:55
728x90

 

 Microsoft 가 Linux 를 WSL (Windows Subsystem for Linux) 라는 방식으로 지원하고 있다. 이전에는 vmware나 virtualbox를 통해 virtual machine 을 통해 windows 를 사용하곤하였지만 이제는 subsystem 이라는 방식으로 Linux를 Windows 에서 사용할 수 있는 것이다. 

 

 해당 기능은 Windows 10에서만 지원하는 기능이다. 기존 WSL 이후 WSL 2 가 발표된 상태이다. 

 

[WSL]

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

 

[WSL2]

https://docs.microsoft.com/ko-kr/windows/wsl/wsl2-index

 

해당 글에서는 WSL 을 설치하고 최신으로 유지하는 법에 대해서 알아보고자 한다. 

 

  • WSL 을 통한 Linux 배포판 설치
  • 설치 후 확인 사항 및 최신 package 업데이트
    • kernel 확인 및 배포판 버전 확인 
    • 최신 Package 로 업데이트

 


[WSL 을 통한 Linux 배포판 설치]

1) "Windows 기능 켜기/끄기" 메뉴를 통해 "Linux용 Windows 하위 시스템" 을 활성화한다. 

 

Windows 내에서도 기능가 메뉴가 많아짐에 따라 하나씩 메뉴 트리를 따라가는 방식으로는 메뉴에 대한 접근에 다소 시간이 걸려 "Windows 키" 를 누른 후 찾고자 하는 메뉴를 입력하면 바로 검색이 가능하다. "Windows 기능 켜기/끄기" 를 입력해 해당 메뉴를 실행한다. 

 

 

"Windows 기능 켜기/끄기" 를 누르면 여러 Windows 기능들이 나오는데 이중 "Linux용 Windows 하위 시스템"을 선택하여 활성화한다. 

 

 

해당 기능을 활성화하면 관련 파일들을 설치 완료된다. 이후 재부팅한다. 

 

 

2) 재부팅 이후 Microsoft Store 에서 원하는 Linux 배포판을 설치한다. 

 

Microsoft Store 에서 검색 기능을 사용하여 "Linux"를 검색하면 아래와 같이 다양한 배포판들이 등록된 것을 확인할 수 있다. 개인적으로 가장 익숙한 Ubuntu 를 선택하였다. 

 

 

 

 

설치가 완료되면 시작 메뉴에서 Ubuntu 가 보이고 Tile 로 추가가 가능해 진다. 

 

 

3) 처음 실행하면 사용자 계정을 생성하게 된다. 

 

 

 


[설치 후 확인 사항 및 최신 package 업데이트]

 

  • kernel 확인 및 배포판 버전 확인

ubuntu@DESKTOP-G0GRUL2:~$ uname -a 
Linux DESKTOP-G0GRUL2 4.4.0-18362-Microsoft #1-Microsoft Mon Mar 18 12:02:00 PST 2019 x86_64 x86_64 x86_64 GNU/Linux 

위와 같이 uname -a 를 통해 적용된 kernel version을 확인해 보면 위와 같이 일반적인 Linux kernel 이 아님을 확인할 수 있다. WSL (Windows Subsystem for Linux) 은 명확히 이야기하자면 온전한 linux 전체를 구동하는 system 은 아니고, kernel 부분을 제외한 user space 부분을 구동하는 것이다. kernel 부분은 Windows NT kernel 을 사용하는데, WSL 은 GNU user space 부분이 kernel 부분을 호출할 때 사용하는 system call 을 NT kernel 에 맞게 변환해 주는 역할을 하고 있다. 

 

ubuntu@DESKTOP-G0GRUL2:~$ lsb_release -a 
No LSB modules are available. 
Distributor ID: Ubuntu 
Description:    Ubuntu 18.04.2 LTS 
Release:        18.04 
Codename:       bionic 

Microsoft Store에서 Ubuntu 선택할 때 명확한 Ubuntu 버전이 기입되어 있지 않아 어떤 버전이 설치될지 몰랐는데, 18.04 가 설치되었다. 만약 설치를 원하는 Ubuntu 버전이 있다면 Microsoft Store 에서 검색시 버전명까지 입력하면 아래와 같이 확인이 가능하다. 

 

 

  • 최신 Package 로 업데이트

먼저 Package update는 root 권한이 필요하기 때문에 모든 명령어에 sudo 를 붙이거나 root 권한 shell 로 전환이 필요하다. 계속 root 권한으로 작업이 필요해 아래와 같이 sudo -i 를 통해 root 권한으로 전환 후 작업을 시작하였다.

 

 

가장 먼저 현재 package repository 에 등록된 package list 를 가져 오기 위해 apt-get update 를 수행한다. 

 

 

W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/bionic-security/InRelease  
Could not connect to security.ubuntu.com:80 (2001:67c:1560:8001::11). - connect (111: Connection refused) 
Could not connect to security.ubuntu.com:80 (2001:67c:1562::19). - connect (111: Connection refused) 
Could not connect to security.ubuntu.com:80 (2001:67c:1562::16). - connect (111: Connection refused) 
Could not connect to security.ubuntu.com:80 (2001:67c:1360:8001::21). - connect (111: Connection refused) 
Could not connect to security.ubuntu.com:80 (2001:67c:1560:8001::14). - connect (111: Connection refused) 
Could not connect to security.ubuntu.com:80 (2001:67c:1360:8001::17). - connect (111: Connection refused)

W: Some index files failed to download. They have been ignored, or old ones used instead.

 

기본적으로 http://archive.ubuntu.com/ubuntu 에서 가져오게 설정되어 있었는데, 알 수 없는 이유로 일부 주소에서 Connection refused 가 발생하였다. 

 

vi /etc/apt/sources.list

 

기본 주소 자체가 국내가 아니라서 package download 에도 시간이 걸리고 일부 주소에 문제가 있는 상황이라 repository server 주소를 국내로 바꾸어 주었다. 

 

vi 에서 아래와 같이 수행하면 전체 주소가 변경된다. 

:%s/archive.ubuntu.com/ftp.daumkakao.com/g

서버 주소 변경 후 apt-get update 를 다시 하게 되면 별다른 error 없이 package list 를 받아오는 것을 볼 수 있다. 

 

 

해당 최신 package list 를 바탕으로 apt-get upgrade를 하면 최신 상태의 Ubuntu 를 유지할 수 있다. 

 

 

 

 

728x90