VirtualBoxのCentOS6.5にGuest Additionsをインストール
関連記事:
VirtualBox+CentOS導入
VitrualBox+CentOS 6.5環境のネットワークの設定
CentOS 6.5にX Window Systemのインストール
以前の記事でホストOS-ゲストOSの間の共有フォルダの設定について書いたが、共有フォルダを使うにはゲストOSにGuest Additionsというのをインストールしないといけないらしい。
順序が前後したが、CentOSにGuest Additionsをインストールした。結構苦労した。
インストール失敗
VirtuBoxのメニューの「デバイス」>「Guest Additions のCDイメージを挿入」とすると、オートランのアプリケーションを実行するか確認ダイアログが表示される。実行に同意しインストーラが実行されたが、開いたターミナルに
yum install kernel-devel-2.6.32-431.el6.x86_64 Buiding the main Guest Additions module [失敗] (Look at /var/log/vboxadd-install.log to find out what went wrong)
と出ている。他に[OK]と出ているものもあるが、カーネルの何かについては失敗してるようだ。vboxadd-install.log を見ると
unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again.
とある。シェルに変数 KERN_DIR を設定すればいいらしい。
スナップショットで作業前の状態に戻して、以下のように KERN_DIR を設定。
# uname -r 2.6.32-431.el6.x86_64 # export KERN_DIR=/usr/src/kernels/`uname -r`
そして再度、インストールを試みる。「デバイス」>「Guest Additions のCDイメージを挿入」としたが、先ほどと違って何も起きない。/media の下にマウントもされていない。
最初に「デバイス」>「Guest Additions のCDイメージを挿入」としたときは、実際のPCの光学ドライブにCD-ROMを入れた時と同じようにオートランになっているアプリケーションが実行される。2回目以降は既に光学ドライブにCD-ROMが入っている状態なので何も起きない、ということだろか。
GUI環境で「コンピュータ」を押下すると「CD/DVD ドライブ: <Guest Additions のCD>」というのがある。それを押下すると、CD-ROMがマウントされてCD-ROMの中身が表示される。
それから端末で
# cd /media/<Guest Additions のCD> # sh VBoxLinuxAdditions.run
とやった。けどまた失敗。
ログを見ると、カーネルのソースが見つからないと書かれていた。KERN_DIR にセットしたフォルダに実際にカーネルのソースがないとだめなのか。
カーネルのソースは "yum install kernel-devel" なのだが、やってみると仮想マシンの現在のカーネルのソースではなく、CentOS 6.5の最新のカーネルのソースを持ってきてしまう。ならばカーネルをバージョンを指定してと思い
# yum -y install kernel-devel-2.6.32-431.el6.x86_64
としたが、エラーが発生。yumのリポジトリ?には2.6.32-431.el6.x86_64のソースがないのかな。
rpmファイルを直接指定してやればいいらしいので、 kernel-devel-2.6.32-431.el6.x86_64.rpm でググってrpmファイルがあるところを探して、
# yum -y install ftp://ftp.muug.mb.ca/mirror/centos/6.5/os/x86_64/Packages/kernel-devel-2.6.32-431.el6.x86_64.rpm
としたらカーネルのソースがインストールされた。
けど、ここまでやって方針転換。
updateしてからにする
kernel-devel のインストールで現在のカーネルと違うソースコードが入っちゃうのはカーネルが古いから。カーネルとカーネルのソースコードを合わせるんなら、古いソースコードをインストールするのではなくカーネルの方をアップデートした方がいいじゃん、ということでカーネルのアップデートすることにした。
どうせアップデートするならカーネルだけじゃなくて全部アップデートすることに。以下のコマンドを実行。
# yum update
再起動すると、uname -r の値が 2.6.32-504.1.3.el6.x86_64 となった。
それから kernel-devel と、参考サイトでは一緒にインストールしていたので gcc、perl をインストール。
Guest Additionsのインストールってカーネルのソースが必要ってことはカーネルを再コンパイルしてるんだろう。そうすると gcc が必要ってのはわかる。perlはよくわからんが。make は最初から入っているらしい。gcc が入ってなくて make が入ってるって、なんか変な感じがする。まあ make はCコンパイラのためだけのアプリケーションじゃないのかもしれんが。
# yum -y install gcc kernel-devel perl
kern-develをインストールすると /usr/src/kernels に 2.6.32-504.1.3.el6.x86_64 ディレクトリができていて、中にソースコードがあった。
そのディレクトリのパスを KERN_DIR を設定。
# export KERN_DIR=/usr/src/kernels/2.6.32-504.1.3.el6.x86_64
そして VBoxLinuxAdditions.run を実行してGuest Additionsのインストール成功。長かった。
これで
・共有フォルダが有効になった。
・ホストOSとゲストOSのウィンドウ間でマウスがシームレスに使えるようになった。
参考ページ:
VirtualBox 上の CentOS6.5(64bit)に GuestAdditions をインストール @ Mac OS X - RAINGARDEN
mog project: How to Solve Vagrant+CentOS+VirtualBox Mount Error
密かなITエンジニアの備忘録:VirtualBoxのCentOS6.5にGuest Additionsをインストールする
CentOS 用の古いkernel-devel パッケージの検索 - ナレッジベース - Server Backup Manager: Docs, KB Articles, Technical Papers
« CentOS 6.5にX Window Systemのインストール | Main | CentOSのバージョンを確認する »
「プログラミング、技術情報」カテゴリの記事
- PHPStorm 2018.1.7 に更新(2018.12.09)
- 技術メモをQiitaに移行(2016.01.24)
- 正規表現メモ:ものぐさ(最小)マッチング(2015.11.29)
- BASE64にエンコード/デコードするバッチファイル(2015.11.23)
- Windows7の検索ボックスの検索条件指定(フォルダの除外など)(2015.08.16)
「Linux」カテゴリの記事
- CakePHPのインストール(2015.06.14)
- PHPからPDOでPostgreSQLに接続する(2015.06.09)
- Laravel4のインストール(2015.05.06)
- URLリライトの復習その2(2015.04.07)
- composerのインストール(2015.04.01)
The comments to this entry are closed.
TrackBack
Listed below are links to weblogs that reference VirtualBoxのCentOS6.5にGuest Additionsをインストール:
« CentOS 6.5にX Window Systemのインストール | Main | CentOSのバージョンを確認する »
Comments