리눅스/CentOS

CentOS 8 버추얼박스 게스트확장 설치

씨실과 날실 2019. 12. 26. 09:00



[작업환경]

가상머신 : VirtualBox 6.0.14

Host OS : Windows 10 1903

Guest OS : CentOS 8




[CentOS 8 설치 환경]

환경그룹

워크스테이션(Workstation)

CentOS 8 커널 버전

CentOS Linux (4.18.0-80.11.2.el8_0.x86_64) 8 (Core)

설치 패키지 목록

그놈 기능 개선(GNOME Tweaks)


주의

아래의 CentOS 8 버추얼박스 게스트확장 설치 방법은 위에 기술한 작업 환경과 CentOS 8 설치 환경 하에서 이루어진 것으로, 다른 환경에서는 예기치 못한 오류 등이 발생할 수 있으며, 그와 관련한 내용은 글 말미에 가능한 자세히 기술하였으나 시스템 환경에 따라 다양한 모습을 보일 수 있고 그것들을 모두 다룰 수는 없으므로 만약 문제 발생 시 인터넷 검색을 치대한 활용하시기 바랍니다. 


패키지 최신 버전으로 업그레이드

위 그림과 같이 터미널 아이콘을 클릭하여 터미널을 실행해줍니다.


위 그림과 같이 명령을 실행해줍니다.

$ sudo dnf upgrade

패키지 업그레이드에 대한 내용은 아래 링크를 참고하시기 바랍니다.

패키지 업그레이드를 끝마친 후 재부팅해줍니다. 재부팅은 터미널에서 reboot 명령을 실행해주시면 됩니다.

주의

CentOS 8 1905를 설치한 직후의 커널 버전은 아래와 같습니다.

CentOS Linux (4.18.0-80.8_0.x86_64) 8 (Core)

CentOS 8 1905를 설치한 후 첫 패키지 업그레이드를 하면 다음 커널이 설치됩니다.

(2019년 12월 26일 기준)

CentOS Linux (4.18.0-80.11.2.el8_0.x86_64) 8 (Core)

위 커널을 설치 후 재부팅을 해주어야 이후의 작업이 오류 없이 게스트확장을 설치 할 수 있습니다. 만약 위 커널을 설치하지 않거나, 설치했더라도 재부팅을 하지 않고 곧바로 게스트확장 설치 절차를 밟으면 올바르게 설치되지 않았습니다. 이와 관련하여 추가 내용은 아래에 따로 적도록 하겠습니다.


패키지 업그레이드를 마치고 재부팅 후 터미널에서 make, gcc, perl, kernel-devel 이 4개의 패키지를 설치해줍니다. 명령은 아래와 같습니다.

$ sudo dnf install make gcc perl kernel-devel

위 패키지들은 CentOS 시스템에 버추얼박스 게스트확장을 설치하기 위한 가장 핵심적인 패키지들입니다. CentOS 7 이하의 경우 여기에 아래와 같이 커널 관련 여러 패키지들을 추가로 설치해주거나 업데이트해줌으로써 게스트확장을 설치할 수 있었습니다.

$ sudo yum groupinstall "Development Tools"

$ sudo yum install kernel sources

$ sudo yum update kernel*

위 명령들은 CentOS 7 이하에서 게스트확장을 설치할 때 사람들이 사용한 추가 명령들 모음입니다. 이 명령들 모두가 필요하지는 않으며 각자의 환경에 따라 필요한 명령이 다릅니다. 이 외에 다른 명령이 필요한 경우도 있었습니다.

참고

제가 설치한 환경에서는 위 추가 설치 명령들은 필요하지 않습니다. 위 4개의 필수 패키지 외에 또 하나의 필수 패키지 이렇게 총 5개만 필요합니다. 추가 필수 패키지는 아래에 설명하도록 하겠습니다.

참고로 yum은 CentOS 7 이전 버전의 주 패키지 관리자였습니다. CentOS 8부터는 주 패키지 관리자가 dnf로 바뀌었습니다. 물론 yum도 사용할 수 있습니다.

시스템 환경에 따라 다른 패키지들을 추가로 설치해주어야 할 필요가 있을 수 있습니다. 이에 대해서는 아래에 따로 기술하겠습니다.


게스트확장 CD 이미지 삽입

위 그림처럼 게스트확장 CD 이미지 삽입 메뉴를 클릭줍니다.


실행 버튼을 눌러줍니다.


암호를 입력하여 인증받습니다.


잘 진행되다가 위 그림처럼 오류가 출력됩니다.

보다 자세한 정보는 /var/log/vboxadd-setup.log 파일에 담겨있다고 하네요. 확인해봅시다.


위 그림처럼 파일(= 노틸러스)을 클릭하여 실행합니다.


창 좌측 하단의 다른 위치를 눌러 컴퓨터를 클릭한 다음 var 폴더 안의 log 폴더를 들어갑니다. 그러면 위 그림과 같이 하위 폴더와 파일들이 보입니다.


위 그림처럼 vboxadd-setup.log 파일을 선택하고 마우스 오른쪽 버튼을 눌러 나오는 메뉴들 중 텍스트 편집기(으)로 열기 메뉴를 눌러줍니다.


그럼 위 그림과 같은 메시지가 담겨져 있음을 확인할 수 있습니다.

핵심 내용을 보면 libelf-dev, libelf-devel, elfutils-libelf-devel 패키지를 설치하라는 것입다.


그런데 위 그림을 보면 알 수 있다시피 CentOS 패키지 저장소에는 libelf-dev, libelf-devel 패키지는 존재하지 않습니다. 


위 그림처럼 elfutils-libelf-devel 패키지를 설치해줍니다.

$ sudo dnf install elfutils-libelf-devel


다시 버추얼박스의 장치 - 게스트확장 CD 이미지 삽입 메뉴를 클릭하면 위 그림처럼 오류창이 뜹니다. 이미 버추얼박스 게스트확장이 설치되어 있기 때문입니다.


위 그림의 파일(= 노틸러스) 화면에서 프로그램 실행 버튼을 눌러주거나


위 그림처럼 해당 폴더에서 마우스 오른쪽 버튼을 눌러 터미널에서 열기를 눌러 터미널을 연 다음


위 그림과 같이 명령을 실행해줍니다. 명령 내용은 다음과 같습니다.

$ sudo ./VBoxLinuxAdditions.run

리눅스 같은 유닉스 계열 OS는 대소문자를 구별하므로 반드시 폴더명이나 파일명, 명령 등의 대소문자를 정확히 입력해주어야 합니다. 

위 명령을 실행하면 기존의 게스트확장을 제거하고 게스트확장을 새로 설치합니다.


게스트확장을 설치한 후 위 그림처럼 시스템을 재부팅해줍니다.

터미널에서의 재부팅 명령은 아래와 같습니다.

$ reboot

재부팅 후 버추얼박스의 창을 최대화하면 화면이 모니터의 크기에 맞게 정상적으로 조절되는 것을 확인할 수 있습니다.


클립보드 공유 및 드래그 앤 드롭 양방향 설정

위 그림처럼 버추얼박스의 클립보드 공유를 양방향으로 설정해줍니다.


그리고 위 그림처럼 버추얼박스의 드래그 앤 드롭을 양방향으로 설정해줍니다.


공유 폴더 설정

위 그림처럼 버추얼박스의 공유 폴더 설정 메뉴를 클릭해줍니다.


그러면 가상 머신 설정 창의 공유 폴더 설정 화면이 뜹니다. 창 우측의 폴더 추가 버튼을 눌러줍니다. 그러면 위 그림처럼 공유 추가 설정 창이 뜹니다.

폴더 경로를 선택해주고 자동 마운트와 항상 사용하기를 체크해준 다음 확인버튼을 눌러줍니다.


그러면 위 그림처럼 설정 내용을 확인할 수 있습니다. 확인 버튼을 눌러 창을 닫아줍니다.


이제 서랍 모양 아이콘인 파일(= 노틸러스) 프로그램을 클릭하여 실행해줍니다.


sf_폴더명이 노틸러스 창 왼쪽에 마운트되어 있는 것을 확인할 수 있습니다. 해당 부분을 클릭하면 위 그림처럼 권한이 없다고 뜨고 접근할 수 없습니다.

현재 사용 중인 계정에 권한을 부여해주어야 합니다.

$ usermod -aG vboxsf 계정명

위 명령을 실행해줍니다.

그 다음 시스템을 재부팅해준 다음 다시 시도해봅시다. 그럼 그땐 정상적으로 접근할 수 있는 것을 확인할 수 있으실 겁니다.