리눅스/Debian or Ubuntu

데비안(Debian) 11 bullseye 설치 - 버추얼박스 게스트확장 설치

씨실과 날실 2021. 9. 8. 09:00

 

안녕하세요. 씨실과 날실입니다.

이번에스는 데비안 11을 Guest OS로 설치한 버추얼박스 가상머신에 게스트확장을 설치하는 방법에 대해 알아보도록 하겠습니다.

 

시스템 환경

Host OS : Windows 20H2

Guest OS : Debian 11

Linux DE : Gnome

VIrtualBox Version  : 6.1.18

 

게스트확장을 설치, 이용하기 위해서는 버추얼박스 익스텐션팩이 설치되어 있어야 합니다.

 

이하의 과정을 진행하기 전에 위 글의 일반 사용자 관리자(sudo) 권한 부여 작업을 수행해주시는 것을 권장합니다.

 

데비안 11이 구동되는 가상머신 실행창에서 위 그림과 같이 마우스로 게스트 확장 CD 이미지 삽입 메뉴를 클릭해줍니다. 이때 다른 광학미디어가 마운트되어 있지 않아야 합니다.

 

클릭을 해도 아무런 변화가 보이지 않습니다.

우분투에 게스트확장을 설치할 때는 권한 인증을 위한 암호 입력과정을 거쳐야 했는데 데비안 11에서는 그러한 과정이 없습니다.

 

위 그림과 같이 광학드라이브 메뉴를 열어보면 게스트확장 iso 파일이 마운트되어 있는 것을 확인할 수 있습니다.

 

 

게스트확장이 정상적으로 마운트되어 있다면 파일(Nautilus)를 실행했을 때 위 그림과 같이 게스트확장 마운트 디렉터리 내용을 확인할 수 있습니다.

 

study@debian:~$ lsblk
NAME  MAJ:MIN   RM  SIZE RO TYPE MOUNTPOINT
sda      8:0     0    2T  0 disk
|-sda1   8:1     0  512M  0 part /boot/efi
|-sda2   8:2     0    2T  0 part /
|-sda3   8:3     0  976M  0 part [SWAP]
sr0     11:0     1 58.3M  0 rom  /media/cdrom0
study@debian:~$

파일(Nautilus)를 실행하여 게스트확장 항목을 클릭하여 내용물을 확인한 다음 터미널에서 $ lsblk 명령을 실행하면 위와 같이 마운트 위치를 위와 같이 확인할 수 있습니다.

 

그런데 파일(Nautilus)를 실행하여 게스트확장 항목을 클릭하여 내용물을 확인하지 않은 채 터미널에서 $ lsblk 명령을 실행하면 sr0 장치(CD롬 장치)가 인식은되는데 아직 마운트되어 있지 않은 것을 확인할 수 있습니다.

파일(Nautilus)를 사용하면 손쉽게 마운트할 수 있지만 터미널 명령을 이용하여 마운트할 수도 있습니다.

 

study@debian:~$ sudo mount -r -t iso9660 /dev/sr0 /media/cdrom0
[sudo] study의 암호:
study@debian:~$

정상적으로 마운트되면 아무런 문구도 출력되지 않습니다.

 

명령 실행 후 직전 실행 명령의 성공적 수행 여부를 확인하려면 아래 명령을 실행하시면 됩니다.

study@debian:~$ echo $?
0
study@debian:~$

 숫자 0이 출력되면 대부분 정상적으로 수행되었다는 뜻입니다. 

0이 아닌 다른 숫자가 나오면 무언가 문제가 발생한 것입니다.

 

echo $?를 실행하여 나오는 숫자를 EXIT STAUS NUMBER라고 하는데 이 숫자로 어떤 문제가 발생한 것인지 유추할 수 있습니다.

 

각 명령어의 EXIT STAUS는 해당 패키지 manpage의 EXIT STAUS 항목에서 확인할 수 있습니다.

 

study@debian:~$ ls -l /media
lrwxrwxrwx 1 root root    6 8월 16 11:17 cdrom -> cdrom0
dr-xr-xr-x 5 root root 2408 1월  8  2021 cdrom
study@debian:~$

참고로 데비안의 경우 CD롬의 기본 마운트 디렉터리는 위와 같이 /media/cdrom0입니다.

 

게스트확장이 마운트되면 설치 과정이 자동으로 실행되는 경우가 있습니다.

그런 경우 안내하는 절차에 따라 작업을 진행하시면 자동으로 설치될 것입니다.

 

그러나 자동 실행이 되지 않는 경우가 더 많습니다. 아래는 그떄를 위한 작업 과정입니다.

 

VBoxLinuxAdditions.run

버추얼박스 가상머신에 게스트 OS로 리눅스를 설치했을 경우 이 게스트 OS에 버추얼박스 게스트확장을 설치하기 위해서는 위 파일을 실행해주어야 합니다.

이 파일을 실행하기 위해선 당연히 이 파일이 어디에 위치해 있는지 확인해야 합니다.

물론 위 그림처럼 파일(Nautilus)를 실행하여 손쉽게 찾을 수 있습니다.

 

그러나 터미널에서 파일을 찾는 방법을 알아보도록 하겠습니다.

study@debian:~$ sudo find / -name VBoxLinuxAdditions.run -type f
/media/cdrom0/VBoxLinuxAdditions.run
find:   '/run/user/1000/gvfs': 허가 거부
study@debian:~$

위와  같이 찾을 수 있습니다.

파일이나 디렉터리 등을 찾을 땐 find 명령어를 사용하며

/는 루트 디렉터리 즉 디스크 전체를 검색 범위로 지정한 것입니다.

물론 루트 디렉터리 전체를 대상으로 온전히 검색하기 위해서는 sudo 권한이 부여되어 있어야 합니다.

-name 옵션의 인수로 찾고자 하는 파일명 지정해줍니다.

-type는 찾고자는 대상이 유형을 지정해주는 것입니다. 인수로 f를 적으면 검색 대상이 파일이고, d를 지정하면 검색 대상이 디렉터리입니다.

 

find:   '/run/user/1000/gvfs': 허가 거부

위 메시지는 무시해도 상관 없습니다.

 

study@debian:~$ cd /media/cdrom0
study@debian:/media/cdrom0$

이상의 정보를 토대로 게스트확장이 마운트되어 있는 위치로 이동합니다.

 

study@debian:/media/cdrom0$ ls -F
AUTORUN.INF                            VBoxSolarisAdditions.pkg
NT3x/                                  VBoxWindowsAdditions-amd64.exe*
OS2/                                   VBoxWindowsAdditions-x86.exe*
TRANS.TBL                              VBoxWindowsAdditions.exe*
VBoxDarwinAdditions.pkg                autorun.sh*        
VBoxDarwinAdditionsUninstall.tool*     cert/
VBoxLinuxAdditions.run*                runasroot.sh*
study@debian:/media/cdrom0$

마운트 디렉터리에 어떤 내용물들이 있는지 확인해봅시다.

위 내용을 보면 각 OS별 게스트확장 설치 패키지 또는 실행 파일 내지 스크립트 등이 모여져 있음을 확인할 수 있습니다.

 

아까 말씀드렸다시피 게스트 OS가 리눅스인 경우 가상머신에 게스트확장을 설치하기 위해서는 VBoxLinuxAdditions.run 파일을 실행해주어야 합니다.

 

study@debian:/media/cdrom0$ sudo ./VBoxLinuxAdditions.run

우분투, CentOS, 그외 많은 리눅스 배포판들은 위와 같이 명령을 실행하면 대부분 문제 없이 설치가 진행됩니다.

만약 설치가 안되는 경우가 있다면 그것은 커널 등 필수 패키지가 최신 버전으로 업그레이드되어 있지않거나 게스트확장 설치에 필요한 필수 패키지(배포판별로 추가 설치를 요구하는 패키지가 다릅니다.)들이 설치되어 있지 않은 경우가 대부분입니다.

전자의 경우는 시스템 내 패키지 전체 업그레이드 작업을 수행해주면 되고, 후자의 경우 터미널 출력 메시지나 버추얼박스 인스톨 로그 파일에서 요구하는 패키지를 안내합니다.

 

study@debian:/media/cdrom0$ sudo ./VBoxLinuxAdditions.run
[sudo] study의 암호:
sudo:  .//VBoxLinuxAdditions.run을(를) 실행할 수 없습니다 : 허가 거부
study@debian:/media/cdrom0$

그런데 데비안에서는 위와 같이 권한이 없다고 실행이 거부됩니다.

이는 fstab에 구성되어 있는 광학미디어 실행 환경 제한떄문입니다.

 

study@debian:/media/cdrom0$ cat -n /etc/fstab | grep /dev/sr0
    17 /dev/sr0          /media/cdrom0  udf,iso9660 user,noauto    0    0
study@debian:/media/cdrom0$

데비안은 광학미디어 설정값이 위와 같이 설정되어 있습니다.

이설정을 수정하지 않고 실행하려면 아래와 같이 명령을 실행해주시면 됩니다.

 

study@debian:/media/cdrom0$ sudo sh VBoxLinuxAdditions.run

./ 대신 sh를 적어주시면 됩니다.

 

study@debian:/media/cdrom0$ sudo sh VBoxLinuxAdditions.run 
Verifying archive integrity... All good.
Uncompressing VirtualBox 6.1.18 Guest Additions for Linux	
VirtualBox Guest Additions installer
Copying additional installer modules . . . 
Installing additional modules . . . 
VirtualBox Guest Additions: Starting.
VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel modules. This may take a while.
VirtualBox Guest Additions: To build modules for other installed kernels, run
VirtualBox Guest Additions:    /sbin/rcvboxadd quicksetup <version>
VirtualBox Guest Additions: or
VirtualBox Guest Additions:    /sbin/rcvboxadd quicksetup all
VirtualBox Guest Additions: Kernel headers not found for target kernel
5.10.0-8-amd64. Please install them and execute
   /sbin/rcvboxadd setup
VirtualBox Guest Additions: Running kernel modules will not be replaced until the system is restarted
study@debian:/media/cdrom0$

정상적으로 설치된다면 위와 같이 진행됩니다.

 

study@debian:/media/cdrom0$ sudo reboot

게스트확장이 설치된 후 위 명령을 실행하여 시스템을 재부팅해줍니다.

 

게스트확장이 잘 설치되면 위 그림처럼 가상머신 창을 최대화하더라도 모니터가 지원하는 해상도 등에 맞춰 최적 해상도를 이용할 수 있게 됩니다.

 

우리는 가상머신에 데비안을 설치할 때 버추얼박스 가상머신 설정에서 공유 폴더를 설정했습니다.

이제 가상머신 실행창의 장치 메뉴에서 클립보드 공유와 드래그 앤 드롭 항목을 모두 양방향으로 설정해주십시오.

그러면 호스트와 게스트를 자유롭게 오가며 클립보드 기능과 드래그 앤 드롭 기능을 사용할 수 있게 됩니다.

 

파일(Nautilus)를 실행해보면 공유 폴더가 자동으로 마운트되어 있는 것을 볼 수 있습니다.

 

study@debian:/media$ ls -F
cdrom@  cdrom0/  sf_Share/
study@debian:/media$

공유폴더 설정이 따로 마운트 위치를 지정하지 않는다면 Gnome 데스크톱 환경의 경우 /media 디렉터리에 공유폴더가 마운트됩니다.

 

제 데비안 11설치 관련 연재를 그대로 따라오신 분들은 따로 설정하실 필요 없이 바로 이 공유폴더를 사용하실 수 있습니다.

study@debian:/media$ ls -lF
합계 92
lrwxrwxrwx 1 root root     6  8월 16 11:17 cdrom -> cdrom0/
drwxr-xr-x 2 root root  4096  8월 16 11:17 cdrom0/
drwxrwxrwx 1 root root 90112  9월  4 23:55 sf_Share/
study@debian:/media$

이유는 공유폴더의 퍼미션이 rwxrwxrwx(777)로 설정되어 있기 때문입니다.

만약 권한이 없다면서 공유폴더를 이용할 수 없다면 공유폴더의 퍼미션 등을 적절히 수정해주시면 됩니다.