Introduction
This article will show how to install VirtualBox Guest Additions in Linux CentOS 8 via command line. Actually, there is a main purpose for installing VirtualBox Guest Additions in any virtual server. It will enhance the ability of the virtual server running in VirtualBox application. In order to install VirtualBox Guest Additions, there are several parts to complete the installation. Those parts are mounting the ISO image file in VirtualBox application and also running the VirtualBox Guest Additions installer.
Mounting ISO Image File in VirtualBox Application
So, the following are steps for installing VirtualBox Guest Additions in Linux CentOS 8 virtual server :
1. First of all, download the VirtualBox Guest Additions installer file. The file is available in this link where it is actually an official download page of VirtualBox file installer. Another one also exist in this link which is an index page for selecting VirtualBox file installer. Select the most suitable one from the download page.
2. Actually, the result from downloading the file is an ISO image file. In this context, for an example, the file name is VBoxGuestAdditions_6.1.16.iso. Rename it to VBoxGuestAdditions.iso to make it simple. So, in the next step, just add the downloaded ISO image file to the VirtualBox application. In order to add the ISO image file to the VirtualBox application, just read the related article. It is an article with the title of ‘How to Add ISO Image File in the VirtualBox Application’ in this link.
4. After that, just add the file or mount it in the virtual server available in the VirtualBox application. Read the article exist with the title of ‘How to Mount ISO Image File in Linux CentOS 8 Running in VirtualBox’ in this link.
5. Next step, start the virtual server in the VirtualBox application as in the following image :
5. If the start process of the virtual server of CentOS 8 in VirtualBox application is a success, the following image will appear :
Mounting ISO Image File in Linux CentOS 8 Virtual Server
After finishing on adding the ISO image file, the following steps are important in order to install VirtualBox Guest Additions :
1. First of all, just login to the virtual server. Either directly login via VirtualBox application or access it remotely. The following article with the title of ‘How to Remote CentOS Virtual Server running in a VirtualBox with a NAT Network using SSH’ in this link inform how to remotely access the virtual server via SSH.
2. After successfully logging in, execute the following series of command. The first one is to create a folder for mounting the virtual CD/DVD-ROM as follows :
cd /dev
mkdir cdrom
The following is an image showing the mount process :
3. Last but not least, check the content of the mounted folder as in the image below :
As in the above display, the output of the command is list of files available in the mounted CD/DVD-ROM. So, the installation process can begin by executing the file ‘VBoxLinuxAdditions.run’. But actually, there is an additional process before doing on that. The additional process will be available in the next part which is the actual installation of VirtualBox Guest Additions in Linux CentOS 8.
Installing VirtualBox Guest Additions in Linux CentOS 8 Virtual Server
Actually, there are several steps which is actually prerequisites or requirements before installing VirtualBox Guest Additions. This article is referring another article with the title of ‘How to Install VirtualBox Guest Additions on CentOS 8’ in this link. The following are the actual steps :
1. First of all, install the epel-release repository by executing the following command :
[admin@10 cdrom]$ sudo dnf install epel-release Last metadata expiration check: 2:33:34 ago on Thu 31 Dec 2020 03:09:25 AM EST. Dependencies resolved. ============================================================================================================================================================================================================================================ Package Architecture Version Repository Size ============================================================================================================================================================================================================================================ Installing: epel-release noarch 8-8.el8 extras 23 k Transaction Summary ============================================================================================================================================================================================================================================ Install 1 Package Total download size: 23 k Installed size: 32 k Is this ok [y/N]: y Downloading Packages: epel-release-8-8.el8.noarch.rpm 13 kB/s | 23 kB 00:01 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 7.8 kB/s | 23 kB 00:02 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : epel-release-8-8.el8.noarch 1/1 Running scriptlet: epel-release-8-8.el8.noarch 1/1 Verifying : epel-release-8-8.el8.noarch 1/1 Installed: epel-release-8-8.el8.noarch Complete! [admin@10 cdrom]$
The installation of the epel-release repository exist as in the following image :
2. If the above command execution is a success, check whether the epel-release repository is available by executing the command below :
[admin@10 cdrom]$ sudo dnf list installed | grep epel-release epel-release.noarch 8-8.el8 @extras [admin@10 cdrom]$
3. So, the previous step is an important step. By installing the epel-release, the installation of the following package will be possible. In this next step, the main purpose is to install several additional packages. It is the kernel-headers and another tools. It is very important for installing VirtualBox Guest Additions. Just execute the following command :
[admin@10 cdrom]$ sudo dnf install gcc make perl kernel-devel kernel-headers bzip2 dkms Extra Packages for Enterprise Linux Modular 8 - x86_64 100 kB/s | 528 kB 00:05 Extra Packages for Enterprise Linux 8 - x86_64 884 kB/s | 8.7 MB 00:10 Last metadata expiration check: 0:00:01 ago on Thu 31 Dec 2020 05:45:00 AM EST. Package bzip2-1.0.6-26.el8.x86_64 is already installed. Dependencies resolved. ============================================================================================================================================================================================================================================ Package Architecture Version Repository Size ============================================================================================================================================================================================================================================ Installing: dkms noarch 2.8.4-1.el8 epel 81 k gcc x86_64 8.3.1-5.1.el8 AppStream 23 M kernel-devel x86_64 4.18.0-240.1.1.el8_3 BaseOS 17 M kernel-headers x86_64 4.18.0-240.1.1.el8_3 BaseOS 5.5 M make x86_64 1:4.2.1-10.el8 BaseOS 498 k perl x86_64 4:5.26.3-416.el8 AppStream 72 k Upgrading: elfutils-libelf x86_64 0.180-1.el8 BaseOS 215 k elfutils-libs x86_64 0.180-1.el8 BaseOS 293 k glibc x86_64 2.28-127.el8 BaseOS 3.6 M glibc-all-langpacks x86_64 2.28-127.el8 BaseOS 25 M glibc-common x86_64 2.28-127.el8 ... AppStream 298 k perl-Mozilla-CA noarch 20160104-7.module_el8.3.0+416+dee7bcef AppStream 15 k perl-TermReadKey x86_64 2.37-7.el8 AppStream 40 k Enabling module streams: perl 5.26 perl-IO-Socket-SSL 2.066 perl-libwww-perl 6.34 Transaction Summary ============================================================================================================================================================================================================================================ Install 169 Packages Upgrade 8 Packages Total download size: 112 M Is this ok [y/N]: y Downloading Packages: (1/177): annobin-9.23-1.el8.x86_64.rpm 157 kB/s | 104 kB 00:00 (2/177): dwz-0.12-9.el8.x86_64.rpm 134 kB/s | 109 kB 00:00 ... (176/177): glibc-common-2.28-127.el8.x86_64.rpm 443 kB/s | 1.3 MB 00:03 (177/177): glibc-all-langpacks-2.28-127.el8.x86_64.rpm 766 kB/s | 25 MB 00:33 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 1.0 MB/s | 112 MB 01:48 warning: /var/cache/dnf/epel-6519ee669354a484/packages/dkms-2.8.4-1.el8.noarch.rpm: Header V4 RSA/SHA256 Signature, key ID 2f86d6a1: NOKEY Extra Packages for Enterprise Linux 8 - x86_64 1.6 MB/s | 1.6 kB 00:00 Importing GPG key 0x2F86D6A1: Userid : "Fedora EPEL (8) <[email protected]>" Fingerprint: 94E2 79EB 8D8F 25B2 1810 ADF1 21EA 45AB 2F86 D6A1 From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 Is this ok [y/N]: y Key imported successfully Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Upgrading : glibc-all-langpacks-2.28-127.el8.x86_64 1/185 Upgrading : glibc-common-2.28-127.el8.x86_64 2/185 Running scriptlet: glibc-2.28-127.el8.x86_64 3/185 Upgrading : glibc-2.28-127.el8.x86_64 3/185 Running scriptlet: glibc-2.28-127.el8.x86_64 3/185 Installing : perl-Exporter-5.72-396.el8.noarch ... 185/185 Running scriptlet: libgcc-8.3.1-5.el8.0.2.x86_64 185/185 Running scriptlet: glibc-common-2.28-127.el8.x86_64 185/185 Verifying : annobin-9.23-1.el8.x86_64 1/185 Verifying : cpp-8.3.1-5.1.el8.x86_64 2/185 Verifying : dwz-0.12-9.el8.x86_64 ... 184/185 Verifying : zlib-1.2.11-13.el8.x86_64 185/185 Upgraded: elfutils-libelf-0.180-1.el8.x86_64 elfutils-libs-0.180-1.el8.x86_64 glibc-2.28-127.el8.x86_64 glibc-all-langpacks-2.28-127.el8.x86_64 glibc-common-2.28-127.el8.x86_64 libgcc-8.3.1-5.1.el8.x86_64 libgomp-8.3.1-5.1.el8.x86_64 zlib-1.2.11-16.el8_2.x86_64 Installed: annobin-9.23-1.el8.x86_64 cpp-8.3.1-5.1.el8.x86_64 dkms-2.8.4-1.el8.noarch dwz-0.12-9.el8.x86_64 efi-srpm-macros-3-2.el8.noarch ... systemtap-sdt-devel-4.3-4.el8.x86_64 zlib-devel-1.2.11-16.el8_2.x86_64 Complete! [admin@10 cdrom]$
4. Next step, check the available version of the kernel-devel whether it is suitable with the current kernel version running in the operating system. Just run the following command :
[admin@10 cdrom]$ sudo dnf list installed | grep kernel-devel [sudo] password for admin: kernel-devel.x86_64 4.18.0-240.1.1.el8_3 @BaseOS [admin@10 cdrom]$
So, the kernel-devel version is ‘4.18.0-240.1.1’.
[admin@10 cdrom]$ uname -r 4.18.0-193.el8.x86_64 [admin@10 cdrom]$
5. Unfortunately, the kernel version of the current running operating system is ‘4.18.0-193’. So, execute the following command to update the current kernel version :
[admin@10 cdrom]$ sudo dnf update kernel-* Last metadata expiration check: 0:11:50 ago on Thu 31 Dec 2020 05:45:00 AM EST. Dependencies resolved. ============================================================================================================================================================================================================================================ Package Architecture Version Repository Size ============================================================================================================================================================================================================================================ Installing: kernel-core x86_64 4.18.0-240.1.1.el8_3 BaseOS 30 M kernel-modules x86_64 4.18.0-240.1.1.el8_3 BaseOS 26 M Upgrading: kernel-tools x86_64 4.18.0-240.1.1.el8_3 BaseOS 4.5 M kernel-tools-libs x86_64 4.18.0-240.1.1.el8_3 BaseOS 4.3 M linux-firmware noarch 20200619-99.git3890db36.el8 BaseOS 101 M Transaction Summary ============================================================================================================================================================================================================================================ Install 2 Packages Upgrade 3 Packages Total download size: 166 M Is this ok [y/N]: y Downloading Packages: (1/5): kernel-tools-4.18.0-240.1.1.el8_3.x86_64.rpm 347 kB/s | 4.5 MB 00:13 (2/5): kernel-tools-libs-4.18.0-240.1.1.el8_3.x86_64.rpm 329 kB/s | 4.3 MB 00:13 (3/5): kernel-modules-4.18.0-240.1.1.el8_3.x86_64.rpm 445 kB/s | 26 MB 00:58 (4/5): kernel-core-4.18.0-240.1.1.el8_3.x86_64.rpm 417 kB/s | 30 MB 01:14 (5/5): linux-firmware-20200619-99.git3890db36.el8.noarch.rpm 868 kB/s | 101 MB 01:59 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 1.1 MB/s | 166 MB 02:26 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Running scriptlet: linux-firmware-20200619-99.git3890db36.el8.noarch 1/1 ... Cleanup : kernel-tools-4.18.0-193.el8.x86_64 6/8 Cleanup : linux-firmware-20191202-97.gite8a0f4c9.el8.noarch 7/8 Cleanup : kernel-tools-libs-4.18.0-193.el8.x86_64 8/8 Running scriptlet: kernel-tools-libs-4.18.0-193.el8.x86_64 8/8 Running scriptlet: kernel-core-4.18.0-240.1.1.el8_3.x86_64 8/8 dkms: running auto installation service for kernel 4.18.0-240.1.1.el8_3.x86_64 Done. Running scriptlet: kernel-tools-libs-4.18.0-193.el8.x86_64 8/8 Verifying : kernel-core-4.18.0-240.1.1.el8_3.x86_64 1/8 ... Verifying : linux-firmware-20191202-97.gite8a0f4c9.el8.noarch 8/8 Upgraded: kernel-tools-4.18.0-240.1.1.el8_3.x86_64 kernel-tools-libs-4.18.0-240.1.1.el8_3.x86_64 linux-firmware-20200619-99.git3890db36.el8.noarch Installed: kernel-core-4.18.0-240.1.1.el8_3.x86_64 kernel-modules-4.18.0-240.1.1.el8_3.x86_64 Complete! [admin@10 cdrom]$
6. If the update process of the current running kernel is a success, do not forget to reboot. Also select the update version of the operating system. It is the operating system with the latest kernel as in the following image :
7. Soon after the reboot and logging in is finish do not forget to recheck. It is to check the version again by typing the following command as in the previous step :
[admin@10 cdrom]$ uname -r 4.18.0-240.1.1.el8_3.x86_64 [admin@10 cdrom]$
7. Fortunately, the current version of the kernel running in the operating system is now exactly the same with the kernel-devel version. Just proceed with the next step which is the final step. It is installing the VirtualBox Guest Addition. It is available in the mounted image. Just execute the following command :
[admin@10 cdrom]$ sudo ./VBoxLinuxAdditions.run Verifying archive integrity... All good. Uncompressing VirtualBox 6.1.16 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 VirtualBox Guest Additions: or VirtualBox Guest Additions: /sbin/rcvboxadd quicksetup all VirtualBox Guest Additions: Building the modules for kernel 4.18.0-240.1.1.el8_3.x86_64. [admin@10 cdrom]$
One thought on “How to Install VirtualBox Guest Additions in Linux CentOS 8 running in a VirtualBox via command line”