CentOS 7にVirtual Boxをインストールする
Pocket

Linux上で動作する仮想化環境は数あるが、今回はOracleが提供しているデスクトップ上の仮想環境『Virtual Box』をCentOS 7にインストールする。

1.必要な事前パッケージの導入

まずは、以下の記事を参考にEPELリポジトリを導入する。

CentOS 7にEPELレポジトリを追加する

 

EPELリポジトリ導入後、以下のコマンドで必要なパッケージを導入する。

yum install kernel-devel kernel-headers dkms
yum groupinstall "Development Tools"
yum update

 

2.Virtual Boxのインストール

まずは、以下のコマンドを実行してVirtual Boxの配布元であるOracleのパブリックキーをインポートする。

wget http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc
rpm --import oracle_vbox.asc

20141211_000000

 

パブリックキーインポート後、以下のコマンドでVirtual Boxに関するレポジトリを導入する。

wget http://download.virtualbox.org/virtualbox/rpm/el/virtualbox.repo -O /etc/yum.repos.d/virtualbox.repo

 

Virtual Boxに関するレポジトリ導入後、以下のコマンドでVirtual Boxのインストールを行う。
なお、今回はVirtual Box 4.3をインストールする。

yum update
yum install VirtualBox-4.3

20141211_000001

 

●出力内容のサンプル

[root@test-centos7-1 tmp]# yum install VirtualBox-4.3
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: ftp.nara.wide.ad.jp
* epel: ftp.riken.jp
* extras: ftp.nara.wide.ad.jp
* updates: ftp.nara.wide.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ VirtualBox-4.3.x86_64 0:4.3.20_96996_el7-1 を インストール
--> 依存性の処理をしています: libQtNetwork.so.4()(64bit) のパッケージ: VirtualBox-4.3-4.3.20_96996_el7-1.x86_64
--> 依存性の処理をしています: libQtOpenGL.so.4()(64bit) のパッケージ: VirtualBox-4.3-4.3.20_96996_el7-1.x86_64
--> 依存性の処理をしています: libQtGui.so.4()(64bit) のパッケージ: VirtualBox-4.3-4.3.20_96996_el7-1.x86_64
--> 依存性の処理をしています: libQtCore.so.4()(64bit) のパッケージ: VirtualBox-4.3-4.3.20_96996_el7-1.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ qt.x86_64 1:4.8.5-8.el7 を インストール
--> 依存性の処理をしています: qt-settings のパッケージ: 1:qt-4.8.5-8.el7.x86_64
---> パッケージ qt-x11.x86_64 1:4.8.5-8.el7 を インストール
--> 依存性の処理をしています: libmng.so.1()(64bit) のパッケージ: 1:qt-x11-4.8.5-8.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ libmng.x86_64 0:1.0.10-14.el7 を インストール
---> パッケージ qt-settings.noarch 0:19-23.4.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

========================================================================================
Package アーキテクチャー
バージョン リポジトリー 容量
========================================================================================
インストール中:
VirtualBox-4.3 x86_64 4.3.20_96996_el7-1 virtualbox 69 M
依存性関連でのインストールをします:
libmng x86_64 1.0.10-14.el7 base 171 k
qt x86_64 1:4.8.5-8.el7 base 4.5 M
qt-settings noarch 19-23.4.el7 base 17 k
qt-x11 x86_64 1:4.8.5-8.el7 base 13 M

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

総ダウンロード容量: 86 M
インストール容量: 196 M
Is this ok [y/d/N]: y
Downloading packages:
(1/5): qt-settings-19-23.4.el7.noarch.rpm | 17 kB 00:00:00
(2/5): libmng-1.0.10-14.el7.x86_64.rpm | 171 kB 00:00:00
(3/5): qt-4.8.5-8.el7.x86_64.rpm | 4.5 MB 00:00:01
(4/5): qt-x11-4.8.5-8.el7.x86_64.rpm | 13 MB 00:00:02
(5/5): VirtualBox-4.3-4.3.20_96996_el7-1.x86_64.rpm | 69 MB 00:03:09
----------------------------------------------------------------------------------------
合計 465 kB/s | 86 MB 03:09
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
インストール中 : libmng-1.0.10-14.el7.x86_64 1/5
インストール中 : qt-settings-19-23.4.el7.noarch 2/5
インストール中 : 1:qt-4.8.5-8.el7.x86_64 3/5
インストール中 : 1:qt-x11-4.8.5-8.el7.x86_64 4/5
インストール中 : VirtualBox-4.3-4.3.20_96996_el7-1.x86_64 5/5

Creating group 'vboxusers'. VM users must be member of that group!

No precompiled module for this kernel found -- trying to build one. Messages
emitted during module compilation will be logged to /var/log/vbox-install.log.

Stopping VirtualBox kernel modules [ OK ]
Uninstalling old VirtualBox DKMS kernel modules [ OK ]
Trying to register the VirtualBox kernel modules using DKMSError! echo
Your kernel headers for kernel 3.10.0-123.el7.x86_64 cannot be found at
/lib/modules/3.10.0-123.el7.x86_64/build or /lib/modules/3.10.0-123.el7.x86_64/source.
[失敗]
(Failed, trying without DKMS)
Recompiling VirtualBox kernel modules [失敗]
(Look at /var/log/vbox-install.log to find out what went wrong)
検証中 : qt-settings-19-23.4.el7.noarch 1/5
検証中 : libmng-1.0.10-14.el7.x86_64 2/5
検証中 : 1:qt-4.8.5-8.el7.x86_64 3/5
検証中 : 1:qt-x11-4.8.5-8.el7.x86_64 4/5
検証中 : VirtualBox-4.3-4.3.20_96996_el7-1.x86_64 5/5

インストール:
VirtualBox-4.3.x86_64 0:4.3.20_96996_el7-1

依存性関連をインストールしました:
libmng.x86_64 0:1.0.10-14.el7 qt.x86_64 1:4.8.5-8.el7
qt-settings.noarch 0:19-23.4.el7 qt-x11.x86_64 1:4.8.5-8.el7

完了しました!
Sponsored Links

Virtual Boxのインストール完了後、以下のコマンドでカーネルのリビルドを実施する。

service vboxdrv setup

20141211_000003

 

なお、この時以下のようなエラーが出る場合がある。

Trying to register the VirtualBox kernel modules using DKMSldconfig: Can't create temporary cache file /etc/ld.so.cache~: Permission denied
ldconfig exited ungracefully
ldconfig: Can't create temporary cache file /etc/ld.so.cache~: Permission denied

この場合は、SELinuxが原因。
今後にも影響するので、こちらの内容を元にSELinuxを無効化してもらいたい。

 

また、以下のようなエラーが出る場合もある。

Trying to register the VirtualBox kernel modules using DKMSError! echo
Your kernel headers for kernel 3.10.0-123.el7.x86_64 cannot be found at
/lib/modules/3.10.0-123.el7.x86_64/build or /lib/modules/3.10.0-123.el7.x86_64/source.

これについては、私の場合はシンボリックリンク 「/lib/modules/3.10.0-123.el7.x86_64/build 」が存在していないフォルダを参照していたことが原因だった。
このため、lsコマンドなどでリンク先を参照し、問題があるようであればlnコマンドなどで対応してもらいたい。

 

3.Virtual Boxの起動

ここまで来たら、後はデスクトップの端末上で以下のコマンドを実行するだけだ。

virtualbox

20141211_000004

後は、普通にWindowsなどで利用するようにVirtual Boxを使うだけだ。

 

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

This article has 5 comments

  1. Ezreal Reply

    これについては、私の場合はシンボリックリンク 「/lib/modules/3.10.0-123.el7.x86_64/build 」が存在していないフォルダを参照していたことが原因だった。
    このため、lsコマンドなどでリンク先を参照し、問題があるようであればlnコマンドなどで対応してもらいたい。

    この部分を具体的にコマンドで教えて頂けないでしょうか?
    私も同様のエラーが出ておりまして、解決できずに困っております;

    • blacknon
      blacknon Reply

      「LinuxでSoftCasは使用できるのか? ~CentOS 7編~」で同様の事象が発生したので、そちらにコマンドを記述しています。

      ln -s /usr/src/kernels/3.10.0-123.13.2.el7.x86_64 /lib/modules/3.10.0-123.el7.x86_64/build

      なお、これはあくまでも私の環境で起きた対処方法であり、そのまま貼り付けても意味が無い(リンク元のバージョンが違う)可能性があります。
      ちゃんと、「/usr/src/kernels」の内容をlsで確認して、適切な対応を行ってください。

  2. Ezreal Reply

    回答ありがとうございます!
    私のCentOS7の/usr/src/kernels/配下のバージョンは
    [root@lab7 kernels]# pwd
    /usr/src/kernels
    [root@lab7 kernels]# ls
    3.10.0-123.13.2.el7.x86_64

    しかし、下記エラーが出続けております;

    [root@lab7 kernels]# service vboxdrv setup
    Stopping VirtualBox kernel modules [ OK ]
    Uninstalling old VirtualBox DKMS kernel modules [ OK ]
    Trying to register the VirtualBox kernel modules using DKMSError! echo
    Your kernel headers for kernel 3.10.0-123.6.3.el7.x86_64 cannot be found at
    /lib/modules/3.10.0-123.6.3.el7.x86_64/build or /lib/modules/3.10.0-123.6.3.el7.x86_64/source.
    [FAILED]
    (Failed, trying without DKMS)
    Recompiling VirtualBox kernel modules [FAILED]
    (Look at /var/log/vbox-install.log to find out what went wrong)

    この原因はいったい何なんでしょうか?
    解決方法を教えて頂ければ幸いです。

  3. blacknon
    blacknon Reply

    ls -laで/lib/modules/3.10.0-123.6.3.el7.x86_64/build を見ればわかると思いますが、これはシンボリックリンクです。
    おそらく、今はあなたの環境で存在しないフォルダを見ています。

    /usr/src/kernelsにあったフォルダにリンクを貼り直してください。

  4. Ezreal Reply

    ありがとうございます!
    無事構築できました!

    的確な助言、誠にありがとうございます。

Leave a Comment

メールアドレスが公開されることはありません。