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]向けですが、同様の手順で問題なく導入可能です。
コメント