ちょっと特殊(?)な環境構築。
追記
うまくできなかったので追記です。
以降の手順を実施してもここができない場合は想定している構築ができないので注意してください。
ホストにインストールされているVirtualBoxで以下がチェックできることを確認しましょう。
VirtualBoxのバージョンによるところとホストマシン(ここではWindows)によって設定できない場合があるようです。
以下のコマンドで1が返ってくることを確認しましょう。
当該ファイルのflagsにvmxが存在していることを確認しています。
grep -cw vmx /proc/cpuinfo
上記を確認してから実際のインストール作業などをした方がよいと思います。
環境構築
前提
Virtualboxが二重になるというちょっとへんなことをやっていますが、普通にCentOSにいれる場合でも基本は変わらないと思います。
ホスト:Windows
VirtualBox:バージョン 6.0.12 r133076
仮想マシン:CentOS Linux release 7.7.1908 (Core)
仮想マシンに新たにVirtualBoxをインストールします。
・構築イメージ
バーチャルボックスのインストール
バーチャルボックスのインストーラを公式サイトからダウンロードしてきます。
・バーチャルボックス公式
今回はバージョン「5」のものが欲しかったので以下ではそのバージョンのものを選択しています。
ダウンロードが完了したら対象サーバにrpmを配置して以下のインストールコマンドを実行します。
rpm -ihv VirtualBox-5.2-5.2.42_137960_el7-1.x86_64.rpm
特にエラーなどがでなければこれで完了!!
とりあえずデスクトップから起動できることを確認しました。
うまくいかなかったところ
上記では簡単に書きましたが、私が実施したときにはすんなりいかなかったので。。
インストール時のエラー
VirtualBoxをrpmでインストールをしようとしたときに発生したエラー。
エラーなのでインストールが実行できません。
エラー: 依存性の欠如:
libSDL-1.2.so.0()(64bit) は VirtualBox-6.1-6.1.8_137981_el7-1.x86_64 に 必要とされています
SDLというものがないといわれているのでインストールする。
yum install SDL
エラーは消える!!
カーネルモジュールに関する問題
上記のエラーは解消してインストールはできましたが、警告(?)が表示され起動ができない状態だったので次はここを解消していきます。
カーネルモジュールに関しての設定変更を行っているので実施には注意してください。
[root@docker-host rpm]# rpm -ihv VirtualBox-5.2-5.2.42_137960_el7-1.x86_64.rpm 警告: VirtualBox-5.2-5.2.42_137960_el7-1.x86_64.rpm: ヘッダー V4 DSA/SHA1 Signature、鍵 ID 98ab5139: NOKEY 準備しています... ################################# [100%] 更新中 / インストール中... 1:VirtualBox-5.2-5.2.42_137960_el7-################################# [100%] Creating group 'vboxusers'. VM users must be member of that group! This system is currently not set up to build kernel modules. Please install the Linux kernel "header" files matching the current kernel for adding new hardware support to the system. The distribution packages containing the headers are probably: kernel-devel kernel-devel-3.10.0-1062.12.1.el7.x86_64 This system is currently not set up to build kernel modules. Please install the Linux kernel "header" files matching the current kernel for adding new hardware support to the system. The distribution packages containing the headers are probably: kernel-devel kernel-devel-3.10.0-1062.12.1.el7.x86_64 There were problems setting up VirtualBox. To re-start the set-up process, run /sbin/vboxconfig as root. If your system is using EFI Secure Boot you may need to sign the kernel modules (vboxdrv, vboxnetflt, vboxnetadp, vboxpci) before you can load them. Please see your Linux system's documentation for more information.
kernel "header"とか、「kernel-devel kernel-devel-3.10.0-1062.12.1.el7.x86_64」をインストールしろと言われている感じなので、とりあえずインストールをする。
※あとから見たらこれいらないかも
yum install kernel-devel-3.10.0-1127.8.2.el7.x86_64
yum install kernel-headers.x86_64
反映確認のために警告文にしめされているコマンドを実行。
/sbin/vboxconfig
が、ダメ。同じようなメッセージが表示される。
ちょっと対策を調べてみる。。
カーネル関連のバージョンがずれているのがいけない可能性があると。
rpm -qa kernel* | sort
kernel-3.10.0-1062.12.1.el7.x86_64
kernel-3.10.0-957.el7.x86_64
kernel-devel-3.10.0-1127.8.2.el7.x86_64
kernel-headers-3.10.0-1127.8.2.el7.x86_64
kernel-tools-3.10.0-1062.12.1.el7.x86_64
kernel-tools-libs-3.10.0-1062.12.1.el7.x86_64
確かに1127と1062でずれてる。
というかdevelは1062がほしいので、そもそもインストールするものが間違ってるのか??
以下は上記の状況での対応になります。
基本的にはVirtualBoxからのメッセージ通りのものがインストールされていれば大丈夫じゃないかと思います。
・カーネルアップデート
実行はしましたが、上記の状況なら多分必要なかったかも。
yum -y update kernel
・rpmのダウンロード
当該のバージョンがyumになかったのでrpmをダウンロードしてきました。
以下から必要なバージョンをダウンロードしてくればよいでしょう。
・kernel-devel-3.10.0-1062.12.1.el7.x86_64.rpm
ftp://ftp.riken.jp/Linux/cern/centos/7/updates/x86_64/repoview/kernel-devel.html
・kernel-headers-3.10.0-1062.12.1.el7.x86_64.rpm
ftp://ftp.riken.jp/Linux/cern/centos/7/updates/x86_64/repoview/kernel-headers.html
・当該パッケージのダウングレード
既にインストールしているパッケージをアンインストールしようとしたら依存関係が構築されていたので、ダウングレードによって対応することにしました。
インストールされていない場合は普通にインストールすればいいと思います。
対象サーバの任意の場所にダウンロードしてきたrpmを配置して以下のコマンドを実行します。
rpm -Uvh --oldpackage kernel-devel-3.10.0-1062.12.1.el7.x86_64.rpm
rpm -Uvh --oldpackage kernel-headers-3.10.0-1062.12.1.el7.x86_64.rpm
再度確認してみる。
想定通りのものが入ってるので大丈夫そう。
rpm -qa kernel* | sort
abrt-addon-kerneloops-2.1.11-55.el7.centos.x86_64
kernel-3.10.0-1127.8.2.el7.x86_64
kernel-tools-libs-3.10.0-1062.12.1.el7.x86_64
kernel-tools-3.10.0-1062.12.1.el7.x86_64
kernel-3.10.0-957.el7.x86_64
kernel-headers-3.10.0-1062.12.1.el7.x86_64
kernel-devel-3.10.0-1062.12.1.el7.x86_64
kernel-3.10.0-1062.12.1.el7.x86_64
再度実行!!
[root@docker-host rpm]# /sbin/vboxconfig vboxdrv.sh: Stopping VirtualBox services. vboxdrv.sh: Starting VirtualBox services. vboxdrv.sh: Building VirtualBox kernel modules. [root@docker-host rpm]#
エラーが起きてないし大丈夫そうです。
VirtualBoxの起動はできるようになりました。