리눅스 개발 환경 구축하기 (우분투 기반)

리눅스는 다양한 용도로 쓰입니다. 네트워크 서버, 데스크탑 PC, 개발, 임베디드 장치/장비 등등 활용 범위가 꽤 넓은 만능 OS라고 보면 되겠습니다. 최근에는 안드로이드에 리눅스 커널을 탑재하여 유명해졌고, 라즈베리파이의 공식 OS로 라즈비안이 채택되었는데 라즈비안은 데비안 리눅스의 기반을 두고 있는 리눅스라고 볼 수 있습니다.  

따라서 리눅를 배우고 사용하는 것은 꽤 흥미로운 일입니다. 더군다나 리눅스 환경에서 개발을 하는 것은 더더욱 흥미로운 일이 아닐 수 없습니다. Windows와는 다르게 리눅스는 네트워크에 최적화 되어 있고, 네트워크 연결이 아주 수월합니다. 그래서 개발중에도 네트워크를 활용하여 개발을 좀더 수월하게 해주는 그 특별함을 가지고 있다고 볼 수 있습니다. 이번 포스트에서는 리눅스 개발 환경 구축에 대한 내용을 기술해 보고자 합니다. 

리눅스 배포판 선택 

리눅스는 명성에 걸맞게 종류도 다양한 편에 속합니다. 리눅스는 서버나 데스크탑 PC에 설치할 수 있는 설치 프로그램을 별도로 제공하고 있는데, 이를 ‘배포판’이라고 합니다. 배포판에도 종류가 꽤 다양한데, 배포판에 관한 참고할 만한 글이 있으니 아래 링크를 확인해 보시기 바랍니다.

리눅스(Linux) 배포판 선택하기

리눅스 배포판은 대표적으로 페도라, 우분투, 데비안 등이 많이 사용됩니다. 얼마 전까지만 해도 가장 유명한 개발용 배포판은 페도라였으나 최근에 안드로이드를 개발한 구글에서 우분투를 공식 배포판으로 추천함으로써 우분투가 개발용으로 많이 사용되기 시작했습니다. 저도 주로 페도라를 사용하다가 현재는 우분투를 개발용으로 사용하는 중입니다. 우분투는 많은 개발 플렛폼에서도 레퍼런스하는 배포판이므로 우분투를 사용하기를 권장드립니다. 

우분투를 어떻게 설치할것인가?

그렇다면 개발을 하기 위한 우분투는 어디에 혹은 어떻게 설치를 하는게 좋을까요? 가장 좋은 베스트는 별도의 개발용 데스크탑 PC나 서버가 있으면 좋습니다. 메모리 16 GB이상, 인텔 Core i5 이상의 CPU를 탑재한 PC정도면 우분투를 설치하여 사용하기에 무리가 없을 것으로 판단됩니다. 하지만, 학교나 연구실이면 모를까 개인이 집에 PC를 여러대를 보유하기가 사실 쉽진 않습니다. 비용도 비용이거니와 장소가 마땅치 않는 부분이 있을 수도 있습니다. 

이에 대안으로 다음과 같은 방법이 있습니다. 

  1. 자신이 사용하고 있는 PC에 우분투/Windows 멀티 부팅으로 설치하여 사용하기.
  2. Windows 기반의 PC에서 Virtual Box 같은 가상 머신으로 우분투를 설치하여 사용하기.

위 두가지 방법에서 1번은 사실 성능적인 측면에서는 추천을 하고 싶습니다. 하지만 Windows와 우분투를 병행해서 개발하기엔 다소 불편한것도 사실입니다. 우분투의 데스크탑 화면이 나쁘지는 않지만 개발 환경적인 측면으로 봤을때는 썩 좋지 않은건 사실이기 때문입니다. 

따라서 2번을 추천드립니다. 메인 OS는 Windows를 사용하고 Virtual Box 같은 가상머신을 설치하여 가상머신으로 우분투를 구동하여 SSH 등으로 접속하여 우분투를 사용하여 개발하면 개발 환경적인 측면에서도 나쁘지 않습니다. 또 한번 설정해 놓은 개발 환경을 가상 머신의 이미지 파일만 복사하면 다른 PC에서도 그대로 사용할 수 있기 때문에 활용적인 측면에서도 장점이 많다고 보시면 됩니다.  다만 가상머신을 구동하면 가상머신으로 시스템 자원을 많이 소모하기 때문에 시스템이 다소 버벅거리거나 느릴 수 있다는 사실도 염두해 둬야 합니다. 그래서 가상 머신을 구동하면서 우분투를 사용하려면 메모리는 최소 8 GB이상 ( 권장 16 GB 이상 )에 CPU는 인텔 Core i5 이상 정도 사용할 것을 권장합니다. 특히 메모리는 중요하므로 되도록 많은 메모리를 탑재하는게 좋습니다. 

노트북에다가 가상머신을 설치하여 사용하면, 이동성도 좋으니 노트북에다가 가상머신을 설치하여 우분투를 구동시키면 나름 괜찮은 개발 환경 구축이 될꺼 같습니다. 

가상머신인 Virtual Box 설치하기

그럼 우분투 기반의 개발환경을 구축해 볼까요? 먼저 가상머신을 자신의 PC에 설치를 해야 합니다. 가상머신에는 크게 두가지가 있는데, VMWare와 Virtual Box 가 있습니다. VM Ware는 가상머신의 초창기 선두 주자이고, 가상화 솔루션에 있어서는 꽤 유명한 제품입니다. 하지만 유료 솔루션이기 때문에 다소 개인이 사용하기에는 어려움이 있습니다. 그래서 오픈 소스이고 무료인 Virtual Box를 다운로드 하여 설치해 보도록 하겠습니다.

먼저 Virtual Box의 공식 사이트로 이동하여 최신 버전을 다운로드 받습니다.

www.virtualbox.org www.virtualbox.org

위 링크로 이동하면 VirtualBox를 바로 다운로드 받을 수 있습니다. 2019년 현재 최신버전은 6.0 이네요. 

다운로드 버튼을 누르면 위 화면같이 다운로드 링크가 나옵니다. PC는 Windows가 설치되어 있기 때문에 빨간 네모처럼 Windows hosts 를 클릭하여 다운로드를 받으면 됩니다. 설치 파일을 대략 170 MB 정도 됩니다. 다운로드가 완료되었으면 설치파일을 클릭합니다.

이런거 잘 아시죠?ㅋ Next를 잘 누르고 넘어갑니다.

넘어가다 보면 경고 창이 하나 나오는데, 설치중에 네트워크가 끊길 수 있다는 의미입니다. 바로 Yes를 누르고 넘어갑니다.

설치가 진행이 됩니다. 중간에 장치를 설치하겠냐고 물어보면 예를 누르고 넘어가면 됩니다. 

자 설치가 완료되었습니다. Finish를 누르면 VirtualBox가 실행됩니다.

VirtualBox의 디스크 이미지 새로 만들기

자 그럼 VirtualBox로 가상 머신 이미지를 새로 만들어 보도록 하겠습니다. 쉽게 얘기하면 Software적으로 가상의 PC를 VirtualBox로 만든다는 의미가 되겠습니다. 

처음 설치하여 VirtualBox를 실행하면 위와 같은 화면이 나옵니다. 현재는 가상머신이 없기 때문에 리스트에는 아무것도 없습니다. 이 상태에서 상단의 새로 만들기 버튼을 누릅니다.

가상 머신 만들기 창이 나옵니다. 창의 아래쪽에서 전문가모드를 누른 후 위의 사진처럼 설정합니다. 제 PC는 64 Bit CPU에 RAM이 8 GB 이기 때문에 우분투도 64 Bit 용으로 설정하였습니다. RAM은 넉넉하게 4 GB로 잡았는데요, 사용자의 PC 환경에 따라서 2 GB로 잡아도 됩니다. 최소 2 GB정도는 잡아야 개발시 수월합니다. 

머신 폴더는 저는 E 드라이브로 설정하였습니다. ( 제 취향입니다 ^^ ) 설정이 마무리 되었으면 만들기 버튼을 누릅니다.

 

다음으로 가상 하드 디스크 관련 설정입니다. 파일 위치와 디스크 크기인데요, 저는 하드 디스크의 용량 관계상 30 GB로 잡았습니다. 하드 디스크의 용량이 충분하다면 40 GB이상으로 잡아도 괜찮습니다. 물리적 하드 드라이브의 저장에서 동적 할당은 디스크에 저장된 용량에 따라 파일 사이즈도 동적으로 할당한다는 것입니다. 장단점이 있지만 동적 할당은 용량에 따라서 파일 사이즈가 유동적이지만 성능이 다소 떨어지는 게 있고, 고정 할당은 파일 크기가 30 GB이면 처음부터 30 GB로 파일 사이즈를 고정 시키게 됩니다. 대신 성능적인 측면에서는 이점이 있습니다. 저는 동적 할당으로 설정하였습니다. 설정 후 만들기 버튼을 누르면…

이와 같이 우분투 가상 머신이 만들어 졌습니다. 

우분투 배포판 다운로드 및 설치

이제 우분투를 가상머신에 설치를 해보도록 하겠습니다. 먼저 우분투 배포판을 다운로드를 받아야 합니다. 아래 링크를 클릭하여 다운로드 받으면 됩니다.

우분투 공식 사이트에서는 최신 버전은 19.04이지만, LTS 버전은 18.04가 최신버전입니다. LTS 버전이라 함은 기술지원 기간이 긴것을 의미합니다. 그래서 되도록 LTS 버전을 다운로드 받습니다. 저는 최신 버전인 18.04 버전보다는 16.04 버전을 다운로드 받아서 설치하려고 합니다. ( 너무 최신 버전 보다는 안정적인 버전이 좋은거 같네요. )

만약 16.04 버전을 다운로드 받고 싶으면 아래 링크로 클릭하여 다운로드 받으시기 바랍니다.

16.04 배포판은 64 bit용과 32 bit 용이 있습니다. 제 PC는 64 bit CPU 이고 VirtualBox에서 64 bit 가상 머신을 만들었기 때문에 64 bit 용을 다운로드 하여 설치하려고 합니다. 만약 32 bit PC이거나 32 bit을 설치하고 싶으면 32 bit 배포판을 설치해도 상관은 없습니다. 배포판 이미지의 사이즈가 대략 1.6 GB 정도 되니 다운로드에 시간이 약간 소요됩니다.

다운로드가 완료되었으면 이제 가상머신에 우분투 16.04 LTS 버전을 설치해 보겠습니다. 다운로드 받은 파일은 ubuntu-16.04.6-desktop-amd64.iso 파일 입니다. iso 파일은 디스크 이미지용 파일인데요, 이 파일을 가상머신 부팅시 로딩 하도록 설정을 해야 합니다. 먼저 가상머신의 설정으로 들어갑니다.

위 화면같이 만들어놓은 가상머신에 오른쪽 마우스를 클릭하여 팝업 메뉴의 설정을 클릭하면 설정 화면이 진입할 수 있습니다.

설정 창에서 저장소 – 속성 – 광학 드라이브에서 맨 오른쪽의 디스크 아이콘을 클릭하여 가상 광 디스크 파일 선택을 클릭합니다. 클릭하고 나서 다운로드 받았던 우분투 iso 파일을 선택합니다.

우분투 iso 파일이 정상적으로 load 되었으면 위 화면같이 로드된 파일명이 보입니다. 여기서 확인을 누릅니다.

우분투 iso 파일을 load 한것은 PC에서 CD-ROM에 CD를 넣은것과 같은 의미가 됩니다. 즉 설치 CD를 가상머신에 넣었다고 보시면 되겠습니다. 완료되었으면 시작 버튼을 누르고 가상머신을 구동시킵니다.

가상 머신이 시작되면 iso의 이미지를 읽어들이며 우분투가 부팅이 됩니다. 위 화면은 우분투 설치 이미지가 부팅이 되는 과정의 모습입니다.

우분투 부팅이 완료되면 우분투를 실행할지 혹은 우분트를 설치할지 선택하는 메뉴가 나타납니다. 우분투를 설치하지 않고 바로 실행하여 사용 할 수 있으나 개발용으로는 적합하지 않으므로 우분투설치를 클릭하면 됩니다. 왼쪽의 언어는 보기 쉽게 한국어를 선택하였습니다. 

설치 버튼을 클릭하면 옵션을 선택하라고 합니다. 일단 업데이트 다운로드는 시간이 걸리기 때문에 계속 버튼을 누르고 넘어갑니다.

다음에 설치 형식을 선택하는 메뉴가 나옵니다. 가상 머신의 디스크는 현재 아무것도 설치되지 않은 빈 하드 디스크와 동일합니다. 따라서 별도의 설정이 필요없이 맨 위의 디스크를 지우고 우분투 설치를 선택하고 지금 설치를 누르면 됩니다.

다음에 디스크의 정보가 바뀜을 알리고 어떻게 하겠냐고 물어봅니다. 고민할 필요 없이 계속 버튼을 누르고 넘어갑니다.

시간대 설정입니다. 자동으로 서울로 선택됩니다. 계속 버튼을 누릅니다.

다음으로 키보드 배치에 대한 설정입니다. 키보드는 영어(미국)을 선택하면 됩니다. 계속 버튼을 누르고 넘어갑니다.

마지막으로 설치한 우분투의 이름, 계정, 패스워드를 설정해야 합니다. 맨 위의 이름란에 영문 계정 ID를 입력하면 자동적으로 컴퓨터 이름과 사용자 이름이 동시에 표기됩니다. 패스워드만 별도로 잘 설정하고 계속 버튼을 누르면 설치가 시작됩니다.

설치가 진행중이네요. 설치하는데 약간의 시간이 필요합니다. 잠시 쉬면서 기다리면 설치가 완료됩니다.

설치가 완료되었으면 위의 화면이 나타납니다. 지금 다시 시작을 누르면 설치가 종료되고 가상 머신을 재부팅 하게 됩니다.

가상머신의 재부팅 시점에 설치 이미지를 빼달라는 메시지가 나옵니다. 가성머신에서는 자동으로 ISO 파일 이미지를 제거하니 바로 재부팅 하면 될꺼 같습니다.

가상머신에서 우분투 부팅 후 확인

가상머신에서의 우분투 설치가 완료가 되었네요. 설치가 그리 어렵지 않은것을 알 수 있습니다. 그럼 가상 머신에서 우분투를 부팅 해서 확인을 해보도록 하겠습니다. 

부팅이 되고 나서 우분투 로그인 화면이 나타납니다. 여기서 좀전에 설치할때 설정했던 Password를 입력해 줍니다. 입력하고 나서 시간이 조금 지나면 우분투 데스크탑 화면이 나타나게 됩니다.

가상머신에서 우분투가 잘 설치가 되었네요. 지금까지 Windows 기반의 PC에서 VirtualBox를 사용하여 우분투를 설치하는 과정에 대하여 살펴봤습니다. 이제 우분투 기반의 리눅스 개발 환경이 구축되었으므로 개발을 즐기면 됩니다^^

'코드도사(codedosa.com)'에는 쿠팡파트너스 등의 제휴링크가 포함되어 있으며 수수료를 제공받을 수 있습니다.