[WSL] 윈도우 10에 우분투 (bash) 설치, 제거 및 업그레이드

PScreenShot-20190428-164532-700x700 ([WSL] 윈도우 10에 우분투 (bash) 설치, 제거 및 업그레이드)


윈도우 10 레드스톤에서 윈도우 10 내에 내장된 bash shell (우분투)를 지원한 지 벌써 몇 년이 지났습니다. 그에 따라 2016년도에 작성했던 본 글이 오래되어 outdated 된 관계로, 2019년 기준으로 내용을 다시 업데이트해 둡니다.

이 글에서는 Windows Subsystem for Linux (WSL) 설치 및 실행에 대한 방법과, 또 우분투 기준으로 최신 배포판으로 업그레이드하는 방법, 마지막으로 WSL 이미지를 (재설치 등의 이유로) 제거하는 방법을 소개합니다.

본 글에서 설치하는 WSL을 이용한 우분투 GUI 유틸리티 실행기(?)는 [윈도우에서 우분투 GUI 프로그램 실행] 부분을 참고하세요.


[WSL 설치]

1. ‘Windows Subsystem for Linux (Linux용 Windows 하위 시스템)’ 설정

‘제어판 – 프로그램 – 프로그램 및 기능 – Windows 기능 켜기/끄기’ 로 들어가면 ‘Windows Subsystem for Linux (Linux용 Windows 하위 시스템)’ 이 있는데, 이걸 체크 후 확인 버튼을 누르시면 됩니다.

2179403D5799FF9225 ([WSL] 윈도우 10에 우분투 (bash) 설치, 제거 및 업그레이드)
Windows 기능 창

이후 재부팅 안내가 나오면 재부팅을 한 후 기다립니다.


2. Microsoft Store에 들어간 후, 검색하여 나오는 원하는 리눅스 배포판 설치

dist-list-1000x358 ([WSL] 윈도우 10에 우분투 (bash) 설치, 제거 및 업그레이드)마이크로소프트 스토어에서 Linux 를 검색하면 나오는 몇몇 배포판들

전 아무래도 ‘Ubuntu’ 가 ‘Ubuntu 18.04 LTS’ 와 같이 버전이 붙어 있는 것보단 최소한 추후 업그레이드 측면에서 나쁘지는 않을 것 같아 그냥 Ubuntu 앱을 설치하였습니다. 물론 18.04 버전을 설치한 후 업그레이드 해도 큰 문제는 없을 거라 생각되지만…

위 마소 스토어에서 설치 후 앱을 처음 실행시키면 (또는 cmd 등에서 해당 배포판의 명령어 – 우분투의 경우는 ‘ubuntu’)를 실행시키면, 내부적으로 별도의 설치가 진행됩니다.

이 설치가 끝난 후 계정 이름과 암호를 묻게 되는데 여기서 원하는 계정 아이디와 패스워드를 입력합니다.

PScreenShot-20190428-160827-1000x709 ([WSL] 윈도우 10에 우분투 (bash) 설치, 제거 및 업그레이드)앱 실행 몇 분 경과 후, 계정명과 패스워드를 입력


3. 배포판의 정상 설치 확인

PScreenShot-20190428-164448-1000x709 ([WSL] 윈도우 10에 우분투 (bash) 설치, 제거 및 업그레이드)정상 설치 확인

실행은 해당 앱 자체를 직접 실행시키거나, cmd 등에서

wsl

또는 여러 배포판이 설치된 경우

wsl -d [배포판]

를 실행하시면 됩니다. 이렇게 실행시키면 현재 경로를 그대로 리눅스 안으로 가져갑니다.

참고로 배포판을 직접 입력해서 실행시킬 수도 있는데 (ex. ubuntu), 이 경우는 리눅스 쉘에서 (원래 밖에서 실행시켰던 경로가 유지되지 않고) 사용자 홈 디렉터리로 현재 경로가 설정됩니다.

wsl가 처음 나왔을 때 방식인 bash 를 쳐서 실행시키는 것도 가능하긴 한데, deprecated 된 방식입니다 (참조 링크 : “bash.exe has been deprecated and replaced with wsl.exe.”). wsl가 bash와 가장 큰 차이점은, 내부 쉘로 bash 뿐만이 아닌 zsh 등의 다른 쉘을 기본 사용할 수 있다는 점입니다 (설정법은 본래의 리눅스와 동일).

다만 현재로써는 쉘 내부의 초기 environment 변수 세팅 등 (~/.bashrc 등)이 wsl (명령어) 로는 왜인지 안 먹히기에, bash -ic ‘(명령어)’ 와 같은 식으로 당분간 bash 쪽을 활용해야 할 일은 있다고 보네요.
이 점은 wsl printenv 와 bash -ic ‘printenv’ 의 결과를 비교해보면 알기 쉽게 보입니다.


4. 윈도우 파티션 접근하기

‘C 드라이브’와 같은 각 로컬 파티션 (‘내 컴퓨터’의 ‘로컬 디스크’) 들은 /mnt 경로에 해당 드라이브 문자로 마운트되어 있습니다.

직접 어딘가에 로컬 파티션을 마운트하려면 아래와 같은 명령어를 쓰시면 됩니다.

sudo mount -t drvfs (드라이브_문자): (마운트_경로)

예를 들어 ‘sudo mount -t drvfs a: tmp’ 를 실행시키면, a 드라이브를 디렉터리 tmp 에 마운트할 수 있습니다.

 


[WSL 배포판 업그레이드 (우분투)]

18.04도 꽤 괜찮은 배포판이지만 테스트 삼아 최근 나온 19.04로 올려봤습니다.

이 글이 처음 작성됐던 때인 16년도 WSL 업그레이드 시도 때는 14.04 배포판이 배포되고 있었습니다. 아무래도 수 년 전의 구형 배포판이다 보니 최신 버전의 유틸리티가 기본 지원되지 않는 경우도 많고 해서 업그레이드를 하는 편이 좋은 여러 상황이 있었죠.

다만 지금은 18.04도 현역이고 lts인 만큼 19.04로 굳이 안 올려도 좋습니다. 그래도 올리고자 하시는 분들이 있으면 아래 내용을 참고하시면 좋을 것이라 생각됩니다.


1. /etc/apt/sources.list 파일을 수정하기 위해 에디터로 오픈

PScreenShot-20190428-164448-1000x709 ([WSL] 윈도우 10에 우분투 (bash) 설치, 제거 및 업그레이드)emacs 에디터를 사용하여 파일 오픈

혹시 cli 에디터에 익숙하지 않으신 분들은 간단히 에디터로 nano 를 사용하시면 좋을 듯합니다. 위 파일을 편집하기 위해 nano 로 여는 명령어는 아래와 같습니다.

sudo nano /etc/apt/sources.list

그렇게 열게 된 nano에서 Ctrl + X 키를 누르면 nano가 종료되는데, 혹시 내용에 변경 사항이 있다면 종료 전 저장할지 물어봅니다.
또한 Ctrl + \ 키를 누르면 찾아 바꾸기 (find and replace) 를 실행할 수 있습니다. 아래 2번 시행에 유용하게 쓰이겠죠.


2. 이전 배포판의 Adjective 부분을, 원하는 배포판의 Adjective(예 : Ubuntu 19.04의 경우 ‘disco’)로 찾아 바꾸기

출시 시기(Version)에 따른 Adjectivehttps://wiki.ubuntu.com/Releases 에서 확인할 수 있습니다 (Code name 중 앞 단어).

PScreenShot-20190428-164532-1000x709 ([WSL] 윈도우 10에 우분투 (bash) 설치, 제거 및 업그레이드)이전 버전의 Adjective을 모두 찾아, 새 버전의 Adjective 로 변경
(ex. 18.04 => 19.04 의 경우엔 bionic => disco)

PScreenShot-20190428-164538-1000x709 ([WSL] 윈도우 10에 우분투 (bash) 설치, 제거 및 업그레이드)변경 완료

여담으로 혹시 수정하면서 확인했을 때 한국 repository 가 아닐 경우, 아래처럼 archive.ubuntu.com 앞에 kr. 을 붙여줘서 한국으로 바꾸는 작업을 추가로 하시면 좋습니다. 속도 차이는 꽤 확실합니다.

PScreenShot-20190428-164610-1000x709 ([WSL] 윈도우 10에 우분투 (bash) 설치, 제거 및 업그레이드)( archive.ubuntu.com => kr.archive.ubuntu.com )


3. 업데이트 / 업그레이드

아래의 명령을 실행합니다.

sudo apt update
sudo apt full-upgrade -y

또는 나눠 치지 말고 한 번에 묶어서

sudo apt update && sudo apt full-upgrade -y

라고 치면 됩니다. (full-upgrade 대신 dist-upgrade도 가능)

PScreenShot-20190428-164757-1000x709 ([WSL] 윈도우 10에 우분투 (bash) 설치, 제거 및 업그레이드)apt update

PScreenShot-20190428-164801-1000x709 ([WSL] 윈도우 10에 우분투 (bash) 설치, 제거 및 업그레이드)apt full-upgrade

보통 설치 도중 진행이 중단되면서 터미널이 몇 가지 질문을 던지고는 하는데, 이번 설치의 경우 두 번 나왔습니다.

PScreenShot-20190428-165006-1000x709 ([WSL] 윈도우 10에 우분투 (bash) 설치, 제거 및 업그레이드)업그레이드 도중에 다시 시작해야 하는 서비스들이 있을 경우, 자동으로 다시 시작하는지 물어보는 화면. Yes 선택

PScreenShot-20190428-165241-1000x709 ([WSL] 윈도우 10에 우분투 (bash) 설치, 제거 및 업그레이드)lxd 설정 중 snap store 에 접근하지 못한다는 경고 화면. Skip 선택


4. 배포판 업그레이드 확인

PScreenShot-20190428-170114-1000x709 ([WSL] 윈도우 10에 우분투 (bash) 설치, 제거 및 업그레이드)19.04 확인

모든 설치가 끝나고 exit 후 다시 배포판 명령어 (ubuntu) 나 bash 로 들어오면 해당 버전의 배포판이 설치된 것을 알 수 있습니다.

업그레이드 자체는 되었지만, 기본적으로 이런 환경의 업그레이드에 대해 마소나 캐노니컬에서 100% 보장을 해 주지는 않기에 추후 사용 시 예상치 못한 에러가 발생할 수도 있습니다.
(2년 전 16.04가 지원되지 않았을 당시, wsl 14.04 => 16.04 의 upgrade 당시에는 sudo 사용에 소소한 문제가 있었습니다. 이번 18.04 => 19.04 에는 그런 문제는 발견되지 않았군요)

안정적인 환경이 특히 중요한 분들이면 최신 버전은 다음 LTS가 나오는 내년까지 기다리는 편이 좋겠네요.

 


[WSL 삭제 / 재설치]

우분투를 재설치해야 하는 경우가 있을 수 있습니다. 또는 더 이상 사용하지 않지만 이미지 용량 때문에 삭제를 해야 할 수도 있겠죠.

이 경우 간단히 처음 설치했던 앱 자체를 삭제/리셋하시면 됩니다.

‘설정 – 앱 및 기능 – (Ubuntu 클릭) – 고급 설정’ 을 들어가면 나오는 메뉴 내에서 삭제하거나 리셋하실 수 있습니다. 단순히 삭제하려면 앱 삭제를, 재설치를 하려면 앱 리셋 후 다시 앱을 실행시키면 자동으로 재설치가 진행됩니다.

Leave a Reply

Your email address will not be published. Required fields are marked *