본문 바로가기

Ubuntu

Macbook / Virtualbox에 Ubuntu 18.04 설치

글을 쓰는 배경

필자는 평상시 업무를 할 때 Ubuntu를 자주 이용하는 사람은 아니고 전문가도 아닙니다. 그러나 가끔 뭔가를 확인해야 할 때 Ubuntu와 필요한 Application을 설치하고 확인합니다. 아무개에게 Ubuntu Instance 1개를 부탁하여 받아 사용할 수도 있지만, Instance를 여러개 이용해야 하는 경우, 그리고 조금 이용하다가 이용하지 않는 경우도 많아, 필자의 맥북에 설치하여 확인하는 것이 편합니다. 그런데 이런 경우가 자지 있지 않으므로 (1년에 2~3번 정도), 다시 기억을 더듬어 처음부터 다시 시작하려니 시간과 노력을 쏟아야 합니다. 최근 (2021년7월)에도 유사한 경우가 있어, 이번 기회에 웹사이트에 필자 자신이 참조할 수 있는 문서를 상세하게 만들어 놓고, 다음부터 참조하자고 생각하고 이 글을 씁니다. 

Host 환경

  • Macbook BigSur 11.5.1
  • Memory: 8GB 이상
  • Disk: SSD 256GB 이상

전체 순서 

  1. VirtualBox를 Oracle 사에서 다운로드하고 설치합니다. 다운로드 사이트는 Google에서 "virtualbox download oracle"를 검색합니다.
  2. Ubuntu 18.04를 https://releases.ubuntu.com/ 에서 다운로드 합니다. 
  3. Virtualbox에서 Machine > New 를 선택하여 VM Instance를 생성하고 Ubuntu ISO image를 지정하고 부팅합니다. 
  4. Ubuntu를 설치하고 리부팅합니다. 
  5. VM instance와 VMHOST (맥북OS)사이에 clipboard 내용을 copy paste를 할 수 있도록 "Guest Additions"을 읽어 설치합니다. Power OFF 하고 clipboard 내용을 copy paste할 수 있는 설정을 합니다. 부팅합니다. 
  6. apt install ssh, apt update, apt upgrade를 수행합니다. Power OFF 합니다. 
  7. 여기까지 만든 VM image를 Clone을 이용하여 보관합니다. 
  8. 사용할 VM instance를 부팅합니다. 
  9. VMHOST에서 VM instance로 ssh 할 수 있도록 port forwarding을 설정합니다. 

1. Virtualbox 다운로드

Virtualbox를 이용하는 이유는 익숙해서입니다. 특별한 이유는 없습니다.

Google Search에서 "Virtualbox download"라고 입력하고 Oracle 링크를 선택하여 접근합니다. 현재 (2021년 7월) 기준 https://www.oracle.com/virtualization/technologies/vm/downloads/virtualbox-downloads.html 입니다. 

Oracle VM VirtualBox Base Packages - 6.1.24가 현재 최근 버전이라는 것을 알 수 있습니다. 맥북에 설치하므로 MAC OS X "dmg img"를 선택하여 다운로드 합니다. 현재 시점에서 다운받은 파일은 "VirtualBox-6.1.24-145767-OSX.dmg" 입니다. 약 124MB이며, 1분 이내에 다운로드 합니다. 맥북의 Downloads 디렉토리에 저장됩니다. 

 

Virtualbox 설치 프로그램을 선택하여 설치합니다. 맥북 시스템환경설정 > Security & Privacy > 일반에서 Oracle에서 받은 Software를 허용해 주고 리부팅합니다. 그러지 않으면 Virtualbox에서 생성한 VM instance를 제대로 실행할 수 없습니다. 

 

2. Ubuntu OS 다운로드

Ubuntu는 현재 21까지 발표되어 있으며, 공식적으로 제안하는 안정 버전은 20입니다. 다만 필자는 18.04를 선택하였습니다. 여유가 생기면 20.04도 다운로드 받아 확인해 볼 예정입니다.

Google Search에서 "Ubuntu 18 download"라고 입력하고 결과에서 "Ubuntu 18.04.5 LTS (Bionic Beaver) - Ubuntu Releases" 를 선택합니다. "ubuntu 20 download"에 대해서는 "Ubuntu 20.04.2.0 LTS (Focal Fossa)"를 선택하면 됩니다. 

필자는 GUI 환경과 terminal 환경을 동시에 이용하므로 Desktop image 64-bit PC (AMD64) desktop image

를 선택하여 다운로드합니다. 받은 파일은 "ubuntu-18.04.5-desktop-amd64.iso"입니다. (20.04 버전 파일은 ubuntu-20.04.2.0-desktop-amd64.iso 입니다) 파일 크기가 2~3GB 정도이므로 다운로드하는 시간은 몇분입니다. 맥북의 Downloads 디렉토리에 저장됩니다. 

ubuntu ISO and virtualbox dmg

3. VM instance 생성

Virtualbox 실행 및 Instance 생성

VirtualBox 실행. 상단 중앙 "New" 선택

Virtualbox 처음 실행

 

 

Name and operating system

Memory size: 4096MB

Hard disk: Create a virtual hard disk now 선택

Hard disk file type: VDI 선택

Storage on physical hard disk: Fixed size 선택

File location and size: 크기만 20GB로 변경

Instance 설정

Oracle VM VirtualBox Manager의 좌측에서 instance를 선택하고, 상단 중앙의 Settings 선택

화면 상단 중앙에서 Storage 선택

 

화면 좌측 Controller IDE 에서 "add otpical drive" 선택

 화면 좌측 상단에서 "Add"를 선택

Downloads 디렉토리에 있는 Ubuntu 18.04 ISO image 선택

선택 결과

 

OK 선택 결과

 

4. Ubuntu 설치

Oracle VM VirtualBox Manager 상단 중앙에서 "Start" 클릭

Install Ubuntu 선택

 

English (US) 선택

 

Normal Installation 선택

 

Erase disk and install Ubuntu 선택

 

Continue 선택

 

Seoul 선택

 

id, password and computer name 설정

 

Ubuntu 설치 시작

 

다 설치하고 Restart Now 선택

 

리부팅 후 만나는 화면

시스템에 로그인 합니다. 

5. Guest Addtions 설치, Clipboard 설정

Oracle VM VirtualBox Manager 의 메뉴에 있는 Devices > Insert Guest Additions CD image 선택

 

Run 실행

Run 선택

관리자 비밀번호 입력

비밀번호 입력

 

실행

Guest Additions Installation

Power OFF: VM instance를 OFF 합니다. 우측 상단 아래 화살표를 선택하면 볼 수 있음

 

VM instance 선택 > Settings > General > Advanced,  Shared Clipboard를 Bidirectional로 변경하고 OK

Shared Clipboard: Bidirectional 선택

 

Start를 선택하여 부팅

 

Ubuntu 안에서 문자열을 Copy하고 맥북으로 이동하여 Paste 선택. 정상 동작 확인

 

6. ssh and apt update/upgrade

ssh를 설치하는 이유는 GUI 환경에서 terminal 로 작업하는 것이 비효율적이기 때문입니다. 즉 remote에서 연결하여 작업하는 것이 편리합니다. 즉 remote 연결을 위해 ssh 를 설치합니다. 

 

배포판에 설치되어 있는 software를 갱신하기 위해 update, upgrade를 합니다. upgrade를 수행하면 몇분 걸립니다.

salsal@u1804base:~$ sudo apt install ssh

salsal@u1804base:~$ sudo apt update

salsal@u1804base:~$ sudo apt upgrade

 

sudo reboot 명령어로 정상 리부팅되는지 확인합니다.

salsal@u1804base:~$ sudo reboot

 

7. VM image 보관

VM instance를 설치하고 나서 Disk 정보를 살펴보면 약 20GB 중에서 6.6GB를 이용하는 것을 알 수 있습니다. 

salsal@u1804base:~$ df -k
Filesystem     1K-blocks    Used Available Use% Mounted on
udev             1990324       0   1990324   0% /dev
tmpfs             403088    1584    401504   1% /run
/dev/sda1       20509264 6610632  12833776  34% /

 

이 상태에서 VM instance 실행을 멈추고 ($ sudo shutdown -h now 실행) Oracle VM VirtualBox Manager로 돌아갑니다. 

 

VM instance를 선택하고 마우스 우측 버튼을 클릭하여 Clone을 선택합니다. 

Clone 선택

 

보관해 놓을 이미지 이름을 지정합니다. 여기에서는 u1804base day0로 지정합니다. 

Name 지정

Full clone을 선택합니다. 

Clone 유형

 

복제를 합니다. 몇초 걸립니다. 

복제중

원본과 복제본을 좌측에서 볼 수 있습니다. 

원본과 복제본

 

8. VM 실행

VM instance u1804base를 선택하고 실행하고 이용합니다. 

 

9. VMHOST인 맥북에서 ssh 로 로그인할 수 있게 port forwarding 설정하기

VM instace 안에서 Terminal 를 실행하여 작업을 할 수 있습니다. 그러나 VMHOST인 맥북에서 VM instace로 ssh 로그인하여 작업하는 것이 보다 효율적인 경우가 많습니다. 이것을 설정하는 방법은 다음과 같습니다. 

 

1. 제일 먼저 VM instance를 shutdown 합니다. 그리고 VirtualBox에서 해당 VM instance를 선택합니다. 그리고 Settings를 선택하고 Network을 선택합니다. 

2. Port forwarding을 선택합니다. 

3. 우측 상단의 plus (+) 아이콘을 선택하여 forwarding rule을 설정합니다. 

    Name: ssh

    Protocol: TCP

    Host Port: 50001 (임의로 선택한 값입니다)

    Guest Port: 22 (ssh 포트를 말합니다)

 

위 3번과 같이 설정하면 맥북 shell prompt에서 ssh salsal@localhost -p50001 을 입력하여 VM instance로 로그인할 수 있습니다. 아래는 그 과정을 나타낸 것입니다. 

 

과정

제일 먼저 VM instance를 shutdown 합니다. 그리고 VirtualBox에서 해당 VM instance를 선택합니다. 그리고 Settings를 선택하고 Network을 선택합니다. 그리고 아래 그림에서 Port Forwarding을 선택합니다. 

우측 상단의 plus (+) 아이콘을 선택합니다. 

forwarding rule을 설정합니다. OK를 선택합니다. 

    Name: ssh

    Protocol: TCP

    Host Port: 50001 (임의로 선택한 값입니다)

    Guest Port: 22 (ssh 포트를 말합니다)

이것이 의미하는 바는 VMHOST (host)의 port 50001으로 가는 것을 VM instance (Guest) port 22로 forwarding 시키라는 것입니다. 

 

VM Instance를 실행합니다. 그리고 나서 VMHOST인 맥북에서 terminal을 실행한 후에 ssh 명령어를 실행합니다. 

chrisjangmac:~ chrisjang$ ssh salsal@localhost -p50001

 

주의할 사항은 

  • salsal 이라는 username이 VM instance 안에 존재해야 합니다. 즉 존재하는 것을 입력합니다. 
  • 50001은 port forwarding에서 설정한 Host port 입니다. 
  • VM instance 안에서는 ssh server를 수행해 놔야 합니다. 

아래 그림을 보면 ssh를 실행하면 login prompt (salsal@localhost's password:)를 만나며, 비밀번호를 입력하면 VM instance 안으로 로그인하는 것을 알 수 있습니다. 

 

 

설치중 겪은 오류 또는 어려움

  • Guest Additions CD image가 없다고 함

 

  • 아래처럼 Ubuntu ISO image를 추가하면 부팅하지 않습니다. 

 

잘못된 ISO 이미지 추가 예1

 

Controller: IDE 밑에 있는 Empty가 ubuntu-18.04.5-desktop-amd64 밑에 있어야 제대로 부팅합니다. 이 순서가 아니라면 해당 항목을 지우고 새로 추가하는 것이 좋습니다.  

잘못된 ISO 이미지 추가 예2

  • VM instance를 생성하고 ISO 이미지를 추가하고 실행하는데 만난 error msg. Google Search를 해 보니
Kernel driver not installed (rc=-1908)
Make sure the kernel module has been loaded successfully.
where: suplibOsInit what: 3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) - The support driver is not installed. On linux, open returned ENOENT.

 

맥북 System Pref > Security & Privacy > General 에서 Oracle에서 다운로드한 파일을 허용해 주면 됩니다. 관련 정보는 여기에 있습니다. https://medium.com/@Aenon/mac-virtualbox-kernel-driver-error-df39e7e10cd8