[VirtualBox] Ubuntu Server 설치하기(CLI 환경 구축)

식빵·2022년 1월 28일
3
post-thumbnail

사실 인터넷 뒤져보면 이미 설치법은 많다.
하지만 내가 스스로 복습하고 싶은 마음에 적어본다.
참고로 지금 하려는 작업은 CLI 환경 구성이지, GUI 환경 구성이 아니다!

지금부터 Ubuntu Server 를 VirtualBox 에 설치해보자 😊



🍀 내 설치 환경

  • HOST OS : Window 10
  • RAM : 16G
  • Ubuntu Version : 20.04.3
  • Virtual Box Version : 6.1.30

버전이 크게 영향을 주지 않을 것이다.
너무 신경 쓰지말자.



🍀 Server image 다운로드

다운로드 페이지로 이동해서 아래 과정을 따라가자.

  • Manual server Installation 버튼을 클릭한다.
  • 최근에는 이 버튼이 Option1 로 바뀌었으니 주의하길 바란다.

  • Thank you! 메세지와 함께 다운로드가 진행된다.




🍀 VirtualBox에 VM 생성하기

VirtualBox 프로그램 실행하여 VM을 하나 생성하자.
VM(Virtual Machine)은 현재 사용중인 컴퓨터에 위에 존재하는 가상 컴퓨터이다.
더 자세한 내용은 Wikipedia를 한번 가볍게 읽어보자.

  • 상단 메뉴바 [머신] > [새로 만들기(N)] 클릭한다.

  • 이름: 자기가 원하는 대로!
  • 머신 폴더: default 위치로 지정
  • 종류(T): Linux
  • 버전(V): Ubuntu (64-bit)

참고: 머신폴더?

설치 및 실행하려는 VM도 결국은 하나의 프로그램이다.
그리고 프로그램은 컴퓨터의 하드디스크에 저장되어 있어야만 한다.
이때 VM과 관련된 세팅, 하드 디스크 파일 등이 저장되는 용도로 쓰는 게 머신폴더다.
더 자세한 내용은 여기를 클릭하여 확인하자.


  • VM의 메모리의 크기를 지정하는 것이다. 나는 4G를 주겠다.

  • 지금 새 가상 하드 디스크 만들기를 선택하고 [만들기] 버튼을 클릭

  • VDI 지정하고 [다음] 버튼 클릭

  • 동적할당을 선택하고 [다음] 버튼을 클릭

  • Ubuntu 의 하드디스크 용량을 지정한다. 나의 경우는 30GB를 주겠다.
    참고로 우리가 앞서 동적할당을 지정했기 때문에, 실제 우리의 컴퓨터에 저 30G가 바로
    잡히는 것은 아니다. 동적할당은 VM에서 사용하는 용량이 늘어남에 따라 컴퓨터 내에서도
    용량이 늘어나는 방식이다. 다만 30G에 도달하면 더 이상 늘어나지 않는다.




🍀 VM 어댑터 추가하기

  • 이후에 SSH 로그인을 위한 어댑터를 미리 하나 설정해주자.
    이걸 안 하고 넘어갈 수도 있다. 다만 이러면 이후에 좀 귀찮은 작업을 해야한다.

  • 만약 안하고 넘어갔을 때 어떻게 대처해야 되는지는 참고 목차에 대처법을 작성해 놨으니 참고하길 바란다.




🍀 Ubuntu OS를 VM에 설치하기

앞서 생성한 것은 VM(Virtual Machine)이다. 즉 가상의 컴퓨터다.
그런데 현재 가상 컴퓨터에는 OS가 깔려있지 않은 빈 깡통이다.
지금부터 OS를 설치해서 정말 쓸 수 있는 상태로 만들어보자.



👏 VM에 ISO 파일 넣기

이 과정은 우리가 컴퓨터를 사고 나서 Window 설치할 때 USB에 window iso 파일을 넣고,
컴퓨터 부팅 전에 그 usb를 꽂는 과정이다.

  • 앞서 만든 VM을 선택하고 [설정(S)] 버튼을 클릭한다.

  • 위 그림처럼 순차적으로 클릭한다.

  • 상단에 있는 [추가] 버튼을 클릭

  • 이전에 다운로드 받았던 Ubuntu Server iso 파일을 선택한다.

  • 정상적으로 이미지 파일이 들어간 것을 확인했다면 [확인] 버튼을 누르고 나오자.

  • [시작] 버튼을 클릭한다.


👏 Ubuntu server 설치


  • 이런 화면이 나오면서 뭔가 진행되는 것을 확인할 수 있다.
    참고로 중간에 cdrom ~~ 에러문구가 보일 수도 있는데 전혀 문제 없다.

  • 이건 현재 우리가 가상 디스크에 넣은 iso 파일 때문인데,
    이후에 iso 파일을 가상 디스크에서 뺄 것이다. 그러니 걱정하지 말자.

  • 그리고 화면 위에 있는 도움말 풍선은 그냥 x 를 눌러서 지워주자. 중요하지 않다.


  • 어느정도 시간이 지나면 위와 같은 화면이 나온다.
    우분투 환경을 영어권으로 하기 위해서 English를 선택하였다.
    참고로 선택을 하는 방법은 키보드로 위, 아래를 눌러서 이동하여 Enter(혹은 Space)를 누르면 된다.

  • 기본으로 선택되어 있는 [Continue without updating] 을 선택한다.

  • 위와 같은 화면이 나오는데 Layout, Variant 가 기본으로 English로 되어 있다.
    Korean으로 변경하고 Done을 선택하자.

  • 앞선 목차인 Ubuntu OS 네트워크 설정에서 미리 어댑터를 하나 더 등록해서
    위 그림처럼 2개가 나온다. 안 하면 enp0s3 하나만 나온다.
    아무튼 [Done] 선택하여 넘어가자.

  • 프록시 서버는 쓸 생각이 없으니 [Done] 선택한다.

  • 우분투 패키지를 받을 때 사용되는 아카이브 미러 서버의 주소를 지정한다.
    기본값은 http://kr.archive.ubuntu.com/ubuntu이다.

  • 물론 이것도 좋지만, 이왕하는 거 더 빠른 미러 서버를 쓰고 싶어서
    http://mirror.kakao.com/ubuntu로 변경 후, [Done]을 선택했다.


  • 우리가 앞서 VM에 지정한 용량인 30G 라는 숫자가 보인다.
    이 곳에 이제 OS 및 필요 파일들이 깔리게 될것이다.

  • 참고로 Set up this disk as LVM group 은 default로 선택되어 있지만,
    정확히 뭔지 모르겠고, 딱히 필요없다고 느껴서 선택 해제하고 나서 [Done] 을 선택했다.


  • 파티션과 관련된 설정을 하는 부분인데,
    특별한 설정을 할 게 아니면 [Done]을 선택하고 넘어가자.

  • [Continue]를 선택한다.

  • Your (real) name : 실제 이름을 쓴다. 물론 꼭 그럴 필요는 없다.
  • Your server’s name : host 이름이다.
  • Your username : login id 다.
  • Password : login password 다.

  • openSSH를 설치할 꺼냐는 질문을 한다. 나는 해주겠다.

  • 실제 일을 하면 리눅스 서버에 접속하기 위해서는 각각의 로컬 컴퓨터에서 puTTY 같은
    프로그램을 통해서 ssh 통신으로 접속하게 된다.

  • 참고로 여기서 설치 안하고 이후에 설치할 수도 있다.
    나는 그냥 이 단계에서 설치하고 넘어가겠다.


  • 이후에도 뭔가 추가적인 것을 설치하겠냐고 묻는다.
    필요한 게 있다면 선택하고 Done을 하자.

  • 그러면 드디어 설치 과정이 진행되는 것을 볼 수 있다.
    참고로 굉장히 오래 걸릴 수 있으니 켜놓고 딴일 하자.
    심심하면 [View full log] 를 통해서 정확히 무슨 일이 일어나는지도 볼 수 있다.

  • 어느 정도 시간이 지나면 설치 화면 상단에 Install complete 라는 문구가 나온다.
    이 문구가 보이면 [Reboot Now]를 선택한다.

  • 그런데 이후 화면에서 Failed unmounting /cdrom이라는 문구가 보일 것이다.
    Please remove the installation medium, then press Enter 라는 문구도 보인다.

  • 딱 봐도 알겠지만, 우리가 가상 드라이브에 넣었던 Ubuntu 설치 이미지 파일 때문이다.
    이걸 현재 VM에서 빼내야 한다.

  • 이미지 파일을 빼내기 위해서 일단 VM을 강제 종료 시키자.


  • 이미지 파일 이름을 클릭하고 가상 드라이브에서 디스크 꺼내기 를 클릭한다.
    그리고 나서 다시 시작 버튼을 클릭한다.

참고:
나의 경우에는 가끔 위 그림과 같은 단계를 거치지 않아도 우분투 OS가 다 설치되면 자동으로 iso 파일이 가상 드라이브에서 꺼내진 상태가 될 때가 있었다.
이럴 때는 그냥 시작 버튼을 누르면 된다.


  • 무수히 많은 로그가 찍히는 걸 볼 수 있다.
    그리고 마지막에 ubuntu-server login:이라는 프롬트가 보인다.

  • 아, 혹시라도 저게 안 보이고 화면에 아무 변화가 없다면 엔터를 좀 쳐준다.
    프롬트가 Log에 덮어지면 이런 일이 생긴다.

  • 아무튼 우리가 위에서 지정했던 login 아이디(=username) 과 password를 입력한다.
    참고로 password는 타자를 쳐도 눈에 보이지 않는다. 입력은 잘되고 있는 것이다.

  • 다 작성했다면 Enter.

  • 이제야 server 가 떴다.




🍀 ssh 로그인

지금은 그냥 서버에 직접 로그인 한 것이다.
하지만 대부분은 터미널 프로그램을 실행해서 원격 리눅스 서버에 ssh 통신으로 접속한다.
지금부터 이를 위한 몇가지 작업을 더 해주자.



👏 ifconfig를 통한 ip 확인

일단 VM 에 직접 로그인한 창에서 아래 명령어를 입력한다.


bash

[dailycode@ubuntu-server:~]$ sudo apt-get update && sudo apt-get net-tools

# ...설치가 다 끝나고 나서...

[dailycode@ubuntu-server:~]$ ifconfig

출력 결과

여기서 볼 것은 enp0s8에 있는 inet 이다.
ip를 통해서 puTTY 접속이 가능하다. 한번 해보자.



👏 puTTY 접속

앞서 본 ip를 입력하고, port: 22 한 후에, 아래에 있는 Open 버튼을 클릭한다.


참고: 혹시라도 이런 게 나오면 그냥 예(Y)를 누르면 된다.
참고: 가끔은 영어로 나오는데, Accept 버튼을 눌러주자.


정상 로그인이 되는 것을 확인했다.




🍀 참고


👏 도움이 된 링크

https://hibbard.eu/install-ubuntu-virtual-box/


👏 VirtualBox 어댑터 추가 안하고 OS 설치 후 ssh 로그인 안될 때


앞선 목차에서 VirtualBox에서 네트워크 설정을 하고 나서 Ubuntu 설치를 진행했다.
그리고 이후에 ssh 로그인이 수월하게 되었을 것이다.

그런데 만약에 Ubuntu를 먼저 설치하고 나서 VirtualBox에 네트워크 설정을 하면?
아마 십중팔구 ssh 로그인이 안될 것이다.

애초에 ifconfig를 bash에 쳐도 enp0s8이 보이지도 않을 것이다.
이를 해결하기 위해서 아래 절차를 따른다.


bash 명령어 흐름

[dailycode@ubuntu-server:~]$ cd /etc/netplan/
[dailycode@ubuntu-server:netplan]$ ls -al
total 12
drwxr-xr-x   2 root root 4096 Jan 28 12:41 .
drwxr-xr-x 102 root root 4096 Jan 28 12:53 ..
-rw-r--r--   1 root root  147 Jan 28 12:41 00-installer-config.yaml
# 00-installer-config.yaml 라는 설정 파일이 보인다. 이 파일을 수정하자.

# 하지만 수정하려면 root 권한이 필요하니 sudo 를 붙여주자.
[dailycode@ubuntu-server:netplan]$ sudo vim 00-installer-config.yaml

아래처럼 편집

# This is the network config written by 'subiquity'
network:
  ethernets:
    enp0s3:
      dhcp4: true
    enp0s8:
      dhcp4: true
  version: 2
  • 처음 vim을 통해서 보면 enp0s8 관련 내용이 없었을 것이다.
    enp0s8 내용을 위처럼 채워주자.

ubuntu 다시 실행

[dailycode@ubuntu-server:~]$ reboot
  • 이후에 ubuntu 가 재부팅이 완료되고 나서, ifconfig를 쳐보자.
    enp0s8 정보가 보이고, inet 정보를 통한 아이피도 확인이 가능할 것이다.
    그리고 그 아이피로 ssh 로그인을 하면 성공할 것이다.


👏 network-manager로 network 설정

NetworkManager를 사용하고 싶다면 아래 절차를 따르자.
그런데 시작하기 전에 NetworkManager 패키지가 설치되어 있는지 확인하자.


- network-manager 설치 확인

[dailycode@ubuntu-server:~]$ apt policy network-manager

- 출력 결과

만약에 위 그림의 빨간 박스 부분이 Installed: (null) 이라고 표기되어 있으면 현재 network-manager 패키지가 없다는 뜻이다. install 해주자.


- network-manager 설치

[dailycode@ubuntu-server:~]$ sudo apt install network-manager

확인 (또는 설치)가 끝났으면 ??-installer-config.yaml 파일을 수정하자.

[dailycode@ubuntu-server:~]$ sudo vim /etc/netplan/00-installer-config.yaml

- 편집 내용

network:
  network: 2
  renderer: NetworkManager

- ubuntu 다시 실행

[dailycode@ubuntu-server:~]$ reboot
profile
백엔드를 계속 배우고 있는 개발자입니다 😊

2개의 댓글

comment-user-thumbnail
2022년 2월 28일

덕분에 쉽게 가상환경 구축했습니다! 감사합니다ㅎㅎ

1개의 답글