본문 바로가기

윈도우 개발환경

윈도우에 만드는 리눅스 개발 환경; 1. 우분투 리눅스 설치 (윈도우 10)

윈도우에 만드는 리눅스 개발 환경 목차

1. 우분투 리눅스 설치 (윈도우 10)

2. 윈도우에 Docker 설치

3. nvm으로 node.js 설치

4. VSCode 설치

5. Docker로 MySQL시작하기

6. Docker로 MongoDB 시작하기

7. 윈도우 11에 우분투 설치

8. Docker로 PostgreSQL 시작하기

0. 윈도우에 우분투 리눅스가 필요한 이유

윈도우에서 개발 환경을 만드는데 왜 리눅스 서브시스템(WSL)이 필요할까?

많은 서버환경이 비용과 관리의 편리함 때문에 데비안(Debian) 계열 리눅스나 레드햇(Redhat) 계열 리눅스로 만들어져 있다. 그래서 개발 환경에 대한 많은 설명이 리눅스 또는 xNix기반인 Mac을 기준으로 작성된 경우가 많아, 우분투 리눅스를 윈도우에서 사용할 수 있다면 개발 기술을 복사해서(Copy & Paste) 따라 할 수 있다.

 

회사에서 사용하는 업무용 윈도우 PC에 우분투 리눅스를 사용할 수 있는 방법은

 

  • WSL(또는 Hyper-V)나 Virtualbox에 VM을 만들거나
  • 우분투 공식 docker 이미지를 사용

하는 방법이 있다. (VMware는 상용이니 관리자의 허가를 꼭 받아야 한다.)

 

우분투 리눅스에서 많이 사용했던 Vagrant나 Virtualbox는 다음에 기회가 되면 설명하기로 하고, WSL을 사용해서 개발 환경을 만드는 방법에 대해 먼저 설명하려 한다.

 

윈도우 2022 H2버전 부터는 Windows 10 Home 버전도 Pro 버전화 공일하게 Hyper-V를 사용할 수 있기, 두 버전 모두 아래 방법으로 설치 가능하다. 이전 버전이면 먼저 업그레이드를 권한다.

1. WSL 설정 후 우분투 리눅스 설치

 

먼저, Linux Subsystem을 활성화시킨다. 윈도우 커널은 여러 개의 Subsystem을 포함하고 있는데, 우분투와 같은 리눅스계열의 OS를 만들기 위해서는 WSL(Windows Subsystem for Linux)을 활성화시켜야 한다.

 

  • 먼저 관리자권한으로 cmd를 실행하고,

  • WSL을 활성화한다.
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

 

 

  • WSL 2 에 필요한 윈도우 버전을 확인

WSL 1과 WSL 2의 차이는 아래 링크에 잘 설명되어 있다. 요점만 설명하면, WSL 2에서는 VM을 만들 수 있고, 리눅스의 모든 기능을 사용할 수 있다는 것이다. 물론, 성능도 좋다고 한다.

 

WSL 버전 비교

WSL 2는 WSL 1의 이점을 제공하지만 WSL 1과 같은 변환 계층이 아닌 실제 Linux 커널을 사용하므로 성능이 향상됩니다.

learn.microsoft.com

윋도우에서 리눅스 OS 전체를 사용하기 위해 WSL 2를 사용하려면 Windows 11을 사용하거나 Windows 10에서는 빌드 버전 1903.18362 이상이 필요하다. 아래 명령으로 확인해 보자.

winver

 

 

  • 이제, Virtual Machine 환경을 활성화한다.
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

 

 

  • Windows 10이면 wsl_update_x64.msi를 받아 업데이트한다.

다음 URL을 브라우저를 열고 붙여 넣거나 다운로드 프로그램에 넣어 다운로드한다.

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

 

  • 마지막으로, WSL을 사용할 때 버전 2를 디폴트로 설정한다.
wsl --set-default-version 2

 

 

만일 Docker만을 사용하는 것이 목적이라면 여기에서 멈추고 Docker Desktop을 설치하면 된다. Docker에 대해서는 이어지는 다음 글에서 다루고 있다.

  • Microsoft Store에서 Ubuntu 20.04을 검색해서 Get 한다.

 

  • 다운로드가 완료되고 Open을 누르면 cmd창이 열리면서 설치가 시작된다.
  • 설치가 진행되면 사용할 계정과 암호를 설정하면 설정이 끝나고 우분투 쉘이 나타난다.

 

WSL이나 Hyper-V Manager를 사용하여 여러 개의 Virtual Machine (WSL문서에서는 VM을 distro라고 한다.)을 만들 수도 있지만, docker와 함께 사용하고자 한다면 한 개 이상 실행하면 노트북의 반응 속도를 떨어뜨리고, docker 또한 느려지기 때문에 여러 개 distro 중 한 번에 하나만 실행하는 것을 권한다.

 

우분투에서 윈도우 파일에 접근하기 위해서는 /mnt 폴더로 가면 C: 드라이브와 docker를 포함한 운영 중인 wsl의 다른 ditro파일을 확인하고 사용할 수 있고, 윈도우에서는 우분투 파일을 보려면 아래 그림에서 처럼 탐색기의 맨 아래로 이동하면 확인할 수 있다.

 

 

우분투 리눅스에 새로운 사용자가 필요하면 adduser 명령으로 추가한다.

 

adduser [사용자명]

 

사용자가 만들어지면 다음과 같이 su 명령을 사용해서 해당 사용자 환경으로 이동하여 사용한다. 

 

su - [사용자명]

 

더 많은 우분투 사용법은 인터넷을 참고하시길 바라며, 개발 내용을 설명할 때 필요한 부분만 설명하겠다.

2. 우분투 설치 속도 개선

네트워크 환경에 따라 다르겠지만, 마이크로소프트 앱스토어를 사용해 설치한 우분투 리눅스의 경우 패키지를 가져오는 repository의 위치가 미국 ubuntu서버(archive.ubuntu.com)로 지정되어 있다. 속도가 잘 나올 때도 있지만, 잘 안될 경우는 연결시간 초과로 error가 발생하기도 한다. 이 repository 서버를 다음서버(ftp.daum.net이나, mirror.kakao.com)로 바꾸면 속도도 빨라지고 error가 발생하는 것도 방지할 수 있다.

 

  • repository의 위치를 바꾸기 위해 먼저 /etc/apt/sources.list 파일을 vi로 연다.
sudo vi /etc/apt/sources.list

vi에디터가 실행되면 ESC키를 한, 두 번 누르고 나서 콜론(:)을 눌러 명령어 모드로 바꾼다.

명령어 모드로 바뀌면서 커서가 화면 아래로 이동하면, 다음 명령을 입력하고 파일 내의 archive.ubuntu.com를 모두 mirror.kakao.com으로 바꾼다. 이 vi명령은 1(첫 번째 줄),$(마지막줄)s(ubstitue바꾼다)/archive.ubuntu.com을/mirror.kakao.com으로/g(모두)라는 뜻이다.

1,$s/archive.ubuntu.com/mirror.kakao.com/g

 

vi 화면

실행이 끝나면 다시 콜론(:)을 눌러 명령어 모드로 바꾸고 wq (write and quit)를 입력해서 저장하고 끝낸다.

 

  • 다음으로 apt명령을 사용하여 우분투의 pakcage list를 다시 update 하고, 완료되면 우분투 리눅스를 최신판으로 업그레이드한다.
sudo apt update
sudo apt upgrade -y

 

repository의 변경으로 이전보다 우분투 리눅스의 패키지 설치 속도가 빨라진 것을 확인할 수 있었고, update 명령으로 우분투는 보안패치를 포함해서 업그레이드되었다.

 

이제 윈도우 노트북에 서버와 유사한 개발 환경이 만들어졌다. 노트북과 분리된 Virtual Machine이기 때문에 원하는 프로그램을 몇 번이든 깔고 지워도 노트북의 윈도우에는 전혀 영향을 미치지 않아 윈도우 OS가 깨지는 걱정 없이 편안한 마음으로 사용할 수 있게 되었다.

 

다음 글에서는 내 노트북 개발 환경에 docker를 추가하려고 한다.