【RHEL7.9】VirtualBox – GuestAdditions インストール手順


この記事はプロモーションを含みます。

Linux

Windows10のVirtualBox上に構築した、RHEL7.9にGuestAdditionsをインストールする手順をまとめてみました。

パッケージのインストール

[yum]コマンドでパッケージをインストールしていきます。
まずは、EPELリポジトリをインストールしましょう。
「完了しました!」と表示されればOKです。

[root@localhost ~]# yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
読み込んだプラグイン:langpacks, product-id, search-disabled-repos, subscription-
                   : manager

This system is not registered with an entitlement server. You can use subscription-manager to register.

/var/tmp/yum-root-XEkeuv/epel-release-latest-7.noarch.rpm を調べています: epel-release-7-14.noarch
/var/tmp/yum-root-XEkeuv/epel-release-latest-7.noarch.rpm をインストール済 みとして設定しています
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ epel-release.noarch 0:7-14 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

===========================================================================
 Package         アーキテクチャー
                           バージョン
                                    リポジトリー                      容量
===========================================================================
インストール中:
 epel-release    noarch    7-14     /epel-release-latest-7.noarch     25 k

トランザクションの要約
===========================================================================
インストール  1 パッケージ

合計容量: 25 k
インストール容量: 25 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : epel-release-7-14.noarch                   1/1
  検証中                  : epel-release-7-14.noarch                   1/1

インストール:
  epel-release.noarch 0:7-14

完了しました!
[root@localhost ~]#

次にリポジトリが有効か無効かの確認を行います。

[root@localhost ~]# yum repolist
読み込んだプラグイン:langpacks, product-id, search-disabled-repos, subscription-
                   : manager

This system is not registered with an entitlement server. You can use subscription-manager to register.

epel/x86_64/metalink                                | 4.6 kB     00:00
epel                                                | 4.7 kB     00:00
(1/3): epel/x86_64/group_gz                           |  99 kB   00:00
(2/3): epel/x86_64/primary_db                         | 7.0 MB   00:01
(3/3): epel/x86_64/updateinfo                         | 1.0 MB   00:01
リポジトリー ID    リポジトリー名                                    状態
epel/x86_64        Extra Packages for Enterprise Linux 7 - x86_64    13,747
repolist: 13,747
[root@localhost ~]#

ローカルリポジトリの作成

RHELのイメージファイルをマウントして、ローカルリポジトリを作成します。

仮想マシンの光学ドライブにRHELのイメージファイルを挿入します。

以下は、RHELのイメージファイルが挿入された状態です。

マウント用のディレクトリを作成して、イメージファイルをマウントしています。
コピーコマンドでインストールメディアに格納されているリポジトリ管理ファイルを、
yumのリポジトリ管理ディレクトリにコピーしています。
読み取り権限を設定するために644を付与しています。
リポジトリ管理ファイルの内容を修正します。

[root@localhost ~]# mkdir -p /mnt/cdrom
[root@localhost ~]# mount -r /dev/cdrom /mnt/cdrom
[root@localhost ~]# cp /mnt/cdrom/media.repo /etc/yum.repos.d/rhel7disc.repo
[root@localhost ~]# chmod 644 /etc/yum.repos.d/rhel7disc.repo
[root@localhost ~]# vi /etc/yum.repos.d/rhel7disc.repo

以下の内容をすべてコピーしてリポジトリ管理ファイルに貼り付けます。

[RHEL7-InstallMedia]
name=Red Hat Enterprise Linux 7.9 (DVD)
mediaid=1600369739.509793
metadata_expire=-1
gpgcheck=1
cost=500
baseurl=file:///mnt/cdrom/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

次にリポジトリが有効か無効かの確認を行います。
※赤字の部分が表示されていれば有効になっています。

[root@localhost ~]# yum repolist
読み込んだプラグイン:langpacks, product-id, search-disabled-repos, subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager to register.

RHEL7-InstallMedia                                                       | 2.8 kB  00:00:00
(1/2): RHEL7-InstallMedia/group                                          | 628 kB  00:00:00
(2/2): RHEL7-InstallMedia/primary                                        | 2.1 MB  00:00:00
RHEL7-InstallMedia                                                                    5230/5230
リポジトリー ID                リポジトリー名                                             状態
RHEL7-InstallMedia             Red Hat Enterprise Linux 7.9 (DVD)                          5,230
epel/x86_64                    Extra Packages for Enterprise Linux 7 - x86_64             13,747
repolist: 18,977
[root@localhost ~]#

epelレポジトリと前項で作成したRHELローカルリポジトリに不足しているパッケージを個別にダウンロードします。wgetコマンドを使ってrpmファイルをダウンロードします。

[root@localhost ~]# mkdir /tmp/rpm/
[root@localhost ~]# cd /tmp/rpm/
[root@localhost rpm]# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/elfutils-libelf-devel-0.176-5.el7.x86_64.rpm
--2023-02-25 19:17:49--  http://mirror.centos.org/centos/7/os/x86_64/Packages/elfutils-libelf-devel-0.176-5.el7.x86_64.rpm
mirror.centos.org (mirror.centos.org) をDNSに問いあわせています... 111.90.139.14, 2406:da18:39f:a01:ad53:d67:8e75:43ef
mirror.centos.org (mirror.centos.org)|111.90.139.14|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 40716 (40K) [application/x-rpm]
`elfutils-libelf-devel-0.176-5.el7.x86_64.rpm' に保存中

100%[======================================================>] 40,716      --.-K/s 時間 0.09s

2023-02-25 19:17:50 (431 KB/s) - `elfutils-libelf-devel-0.176-5.el7.x86_64.rpm' へ保存完了 [40716/40716]

[root@localhost rpm]# wget https://fr2.rpmfind.net/linux/epel/7/x86_64/Packages/d/dkms-3.0.10-1.el7.noarch.rpm
--2023-02-25 19:17:55--  https://fr2.rpmfind.net/linux/epel/7/x86_64/Packages/d/dkms-3.0.10-1.el7.noarch.rpm
fr2.rpmfind.net (fr2.rpmfind.net) をDNSに問いあわせています... 195.220.108.108
fr2.rpmfind.net (fr2.rpmfind.net)|195.220.108.108|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 87452 (85K) [application/x-rpm]
`dkms-3.0.10-1.el7.noarch.rpm' に保存中

100%[======================================================>] 87,452      38.3KB/s 時間 2.2s

2023-02-25 19:18:00 (38.3 KB/s) - `dkms-3.0.10-1.el7.noarch.rpm' へ保存完了 [87452/87452]

[root@localhost rpm]#

Guest Additionsで必要なパッケージを一括でインストールします。

[root@localhost rpm]# yum install -y kernel-devel kernel-headers gcc gcc-c++ bzip2 make /tmp/rpm/*.rpm
読み込んだプラグイン:langpacks, product-id, search-disabled-repos, subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager to register.

パッケージ bzip2-1.0.6-13.el7.x86_64 はインストール済みか最新バージョンです
パッケージ 1:make-3.82-24.el7.x86_64 はインストール済みか最新バージョンです
/tmp/rpm/dkms-3.0.10-1.el7.noarch.rpm を調べています: dkms-3.0.10-1.el7.noarch
/tmp/rpm/dkms-3.0.10-1.el7.noarch.rpm をインストール済みとして設定しています
/tmp/rpm/elfutils-libelf-devel-0.176-5.el7.x86_64.rpm を調べています: elfutils-libelf-devel-0.176-5.el7.x86_64
/tmp/rpm/elfutils-libelf-devel-0.176-5.el7.x86_64.rpm をインストール済みとして設定しています
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ dkms.noarch 0:3.0.10-1.el7 を インストール
---> パッケージ elfutils-libelf-devel.x86_64 0:0.176-5.el7 を インストール
--> 依存性の処理をしています: pkgconfig(zlib) のパッケージ: elfutils-libelf-devel-0.176-5.el7.x86_64
---> パッケージ gcc.x86_64 0:4.8.5-44.el7 を インストール
--> 依存性の処理をしています: cpp = 4.8.5-44.el7 のパッケージ: gcc-4.8.5-44.el7.x86_64
--> 依存性の処理をしています: glibc-devel >= 2.2.90-12 のパッケージ: gcc-4.8.5-44.el7.x86_64
---> パッケージ gcc-c++.x86_64 0:4.8.5-44.el7 を インストール
--> 依存性の処理をしています: libstdc++-devel = 4.8.5-44.el7 のパッケージ: gcc-c++-4.8.5-44.el7.x86_64
---> パッケージ kernel-devel.x86_64 0:3.10.0-1160.el7 を インストール
---> パッケージ kernel-headers.x86_64 0:3.10.0-1160.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ cpp.x86_64 0:4.8.5-44.el7 を インストール
---> パッケージ glibc-devel.x86_64 0:2.17-317.el7 を インストール
--> 依存性の処理をしています: glibc-headers = 2.17-317.el7 のパッケージ: glibc-devel-2.17-317.el7.x86_64
--> 依存性の処理をしています: glibc-headers のパッケージ: glibc-devel-2.17-317.el7.x86_64
---> パッケージ libstdc++-devel.x86_64 0:4.8.5-44.el7 を インストール
---> パッケージ zlib-devel.x86_64 0:1.2.7-18.el7 を インストール
--> トランザクションの確認を実行しています。
---> パッケージ glibc-headers.x86_64 0:2.17-317.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================================
 Package               アーキテクチャー
                              バージョン        リポジトリー                               容量
================================================================================================
インストール中:
 dkms                  noarch 3.0.10-1.el7      /dkms-3.0.10-1.el7.noarch                 188 k
 elfutils-libelf-devel x86_64 0.176-5.el7       /elfutils-libelf-devel-0.176-5.el7.x86_64  32 k
 gcc                   x86_64 4.8.5-44.el7      RHEL7-InstallMedia                         16 M
 gcc-c++               x86_64 4.8.5-44.el7      RHEL7-InstallMedia                        7.2 M
 kernel-devel          x86_64 3.10.0-1160.el7   RHEL7-InstallMedia                         18 M
 kernel-headers        x86_64 3.10.0-1160.el7   RHEL7-InstallMedia                        9.0 M
依存性関連でのインストールをします:
 cpp                   x86_64 4.8.5-44.el7      RHEL7-InstallMedia                        6.0 M
 glibc-devel           x86_64 2.17-317.el7      RHEL7-InstallMedia                        1.1 M
 glibc-headers         x86_64 2.17-317.el7      RHEL7-InstallMedia                        690 k
 libstdc++-devel       x86_64 4.8.5-44.el7      RHEL7-InstallMedia                        1.5 M
 zlib-devel            x86_64 1.2.7-18.el7      RHEL7-InstallMedia                         50 k

トランザクションの要約
================================================================================================
インストール  6 パッケージ (+5 個の依存関係のパッケージ)

合計容量: 60 M
総ダウンロード容量: 60 M
インストール容量: 122 M
Downloading packages:
警告: /mnt/cdrom/Packages/cpp-4.8.5-44.el7.x86_64.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID fd431d51: NOKEY
cpp-4.8.5-44.el7.x86_64.rpm の公開鍵がインストールされていません
------------------------------------------------------------------------------------------------
合計                                                             87 MB/s |  60 MB  00:00:00
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release から鍵を取得中です。
Importing GPG key 0xFD431D51:
 Userid     : "Red Hat, Inc. (release key 2) <security@redhat.com>"
 Fingerprint: 567e 347a d004 4ade 55ba 8a5f 199e 2f91 fd43 1d51
 Package    : redhat-release-server-7.9-3.el7.x86_64 (@anaconda/7.9)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
Importing GPG key 0x2FA658E0:
 Userid     : "Red Hat, Inc. (auxiliary key) <security@redhat.com>"
 Fingerprint: 43a6 e49c 4a38 f4be 9abf 2a53 4568 9c88 2fa6 58e0
 Package    : redhat-release-server-7.9-3.el7.x86_64 (@anaconda/7.9)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : cpp-4.8.5-44.el7.x86_64                                        1/11
  インストール中          : libstdc++-devel-4.8.5-44.el7.x86_64                            2/11
  インストール中          : kernel-devel-3.10.0-1160.el7.x86_64                            3/11
  インストール中          : zlib-devel-1.2.7-18.el7.x86_64                                 4/11
  インストール中          : elfutils-libelf-devel-0.176-5.el7.x86_64                       5/11
  インストール中          : kernel-headers-3.10.0-1160.el7.x86_64                          6/11
  インストール中          : glibc-headers-2.17-317.el7.x86_64                              7/11
  インストール中          : glibc-devel-2.17-317.el7.x86_64                                8/11
  インストール中          : gcc-4.8.5-44.el7.x86_64                                        9/11
  インストール中          : gcc-c++-4.8.5-44.el7.x86_64                                   10/11
  インストール中          : dkms-3.0.10-1.el7.noarch                                      11/11
  検証中                  : gcc-c++-4.8.5-44.el7.x86_64                                    1/11
  検証中                  : kernel-headers-3.10.0-1160.el7.x86_64                          2/11
  検証中                  : zlib-devel-1.2.7-18.el7.x86_64                                 3/11
  検証中                  : glibc-headers-2.17-317.el7.x86_64                              4/11
  検証中                  : kernel-devel-3.10.0-1160.el7.x86_64                            5/11
  検証中                  : glibc-devel-2.17-317.el7.x86_64                                6/11
  検証中                  : gcc-4.8.5-44.el7.x86_64                                        7/11
  検証中                  : dkms-3.0.10-1.el7.noarch                                       8/11
  検証中                  : libstdc++-devel-4.8.5-44.el7.x86_64                            9/11
  検証中                  : cpp-4.8.5-44.el7.x86_64                                       10/11
  検証中                  : elfutils-libelf-devel-0.176-5.el7.x86_64                      11/11
RHEL7-InstallMedia/productid                                             | 1.6 kB  00:00:00

インストール:
  dkms.noarch 0:3.0.10-1.el7                   elfutils-libelf-devel.x86_64 0:0.176-5.el7
  gcc.x86_64 0:4.8.5-44.el7                    gcc-c++.x86_64 0:4.8.5-44.el7
  kernel-devel.x86_64 0:3.10.0-1160.el7        kernel-headers.x86_64 0:3.10.0-1160.el7

依存性関連をインストールしました:
  cpp.x86_64 0:4.8.5-44.el7                     glibc-devel.x86_64 0:2.17-317.el7
  glibc-headers.x86_64 0:2.17-317.el7           libstdc++-devel.x86_64 0:4.8.5-44.el7
  zlib-devel.x86_64 0:1.2.7-18.el7

完了しました!

下記の理由のためシステムをパワーオフします。
・カーネル関連のパッケージをインストールしたため
・RHELのインストールメディアファイルを除去するため

[root@localhost rpm]# systemctl poweroff

パワーオフ後は、設定画面から光学ドライブに挿入されているRHELのイメージファイルを除去します。

Guest Additionsのインストール

Guest AdditionsのCDイメージを挿入します。

以下のようなダイアログが表示された場合はキャンセルをクリックします。

Guest Additionsのイメージファイルをマウントします。

[root@localhost ~]# mount -r /dev/cdrom /mnt/cdrom

Guest Additionsのインストールを行います。

[root@localhost ~]# sh /mnt/cdrom/VBoxLinuxAdditions.run
Verifying archive integrity... All good.
Uncompressing VirtualBox 6.1.40 Guest Additions for Linux........
VirtualBox Guest Additions installer
Copying additional installer modules ...
Installing additional modules ...
VirtualBox Guest Additions: Starting.
VirtualBox Guest Additions: Setting up modules
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: Building the modules for kernel
3.10.0-1160.el7.x86_64.

以下を参考にして動作確認を行い、問題がなければ作業は完了となります。

おわりに

お疲れ様です!以上で、VirtualBox – GuestAdditionsのインストールは完了となります。
これで、VirtualBoxの拡張機能が使用出来るようになりました。
筆者おすすめの機能として、ホストマシンのWindowsにあるフォルダの共有機能がかなり有用だと思います。設定方法は以下の記事にまとめていますので、設定しておくと何かと便利ですよ。
記事は[CentOS7]向けですが、同様の手順で問題なく導入可能です。

コメント

タイトルとURLをコピーしました