SEワンタンの独学備忘録

IT関連の独学した内容や資格試験に対する取り組みの備忘録

【VirtualBox】Linux(CentOS7)にVirtualBoxをインストールする

ちょっと特殊(?)な環境構築。

追記

うまくできなかったので追記です。
以降の手順を実施してもここができない場合は想定している構築ができないので注意してください。

ホストにインストールされているVirtualBoxで以下がチェックできることを確認しましょう。
VirtualBoxのバージョンによるところとホストマシン(ここではWindows)によって設定できない場合があるようです。

f:id:wantanBlog:20200604225730p:plain

以下のコマンドで1が返ってくることを確認しましょう。
当該ファイルのflagsにvmxが存在していることを確認しています。

grep -cw vmx /proc/cpuinfo

上記を確認してから実際のインストール作業などをした方がよいと思います。

環境構築

前提

Virtualboxが二重になるというちょっとへんなことをやっていますが、普通にCentOSにいれる場合でも基本は変わらないと思います。

ホスト:Windows
VirtualBox:バージョン 6.0.12 r133076
仮想マシン:CentOS Linux release 7.7.1908 (Core)

仮想マシンに新たにVirtualBoxをインストールします。

・構築イメージ

f:id:wantanBlog:20200523023049p:plain

バーチャルボックスのインストール

バーチャルボックスのインストーラを公式サイトからダウンロードしてきます。

・バーチャルボックス公式

Oracle VM VirtualBox

今回はバージョン「5」のものが欲しかったので以下ではそのバージョンのものを選択しています。

f:id:wantanBlog:20200523020848p:plain

f:id:wantanBlog:20200523020935p:plain

f:id:wantanBlog:20200523021050p:plain


ダウンロードが完了したら対象サーバにrpmを配置して以下のインストールコマンドを実行します。

rpm -ihv VirtualBox-5.2-5.2.42_137960_el7-1.x86_64.rpm

特にエラーなどがでなければこれで完了!!
とりあえずデスクトップから起動できることを確認しました。

f:id:wantanBlog:20200523024012p:plain

うまくいかなかったところ

上記では簡単に書きましたが、私が実施したときにはすんなりいかなかったので。。

インストール時のエラー

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

f:id:wantanBlog:20200523014838p:plain

・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

f:id:wantanBlog:20200523014930p:plain

・当該パッケージのダウングレード

既にインストールしているパッケージをアンインストールしようとしたら依存関係が構築されていたので、ダウングレードによって対応することにしました。
インストールされていない場合は普通にインストールすればいいと思います。

対象サーバの任意の場所にダウンロードしてきた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の起動はできるようになりました。