VirtualBox5.0.4をインストールすることで解決されているようなのでインストールしてみたら既存の仮想マシンが正しく動作しない場合があるという現象がありました。
具体的には、Guest Additions 5.0.4が使用できないという問題です。
それを解決する方法です。
ホストOS:Windows 10
ゲストOS:CentOS6.7 64bit版
すでに作成されていたVirtualBoxの仮想マシンにGuest Additionsのバージョンが4.3.4がインストールされている場合、VirtualBox 5.0.4をインストールしているとGuest Additionsが正しく動作しないという問題があります。
VagrantのPluginの「vagrant-vbguest」をインストールしていると本来は、正しいバージョンの「Guest Additions」をインストールしてくれるのですが、なんだかと途中でエラーを起こしてインストールできていないようなのです。
グーグル先生に聞いてみるとLinuxのカーネルのバージョンが古いのが問題なので新しいものをインストールするようにというのが書いてありました。
※エラーメッセージにも「yum install kernel-devel-2.6.32-431.el6.x86_64」と表示されるので、その通りにしてみます。
グーグル先生に聞いた通りにやっている→うまくいかない
Error: Nothing to doとメセージがでる
これで新しいカーネルがインストールされるのでゲストOSを再起動すると新しいGuestAddionsがインストールされるはずです。
ですが、インストール自体がされません。
Qiitaでこの問題を解決している記事がありました。
Vagrantのフォルダ同期のエラーの対処
そもそも、yumでkernelのインストールを止めているようでした。
カーネルのアップグレードをする為には、「/etc/yum.conf」のカーネルを対象外にする(?)設定をコメントアウトする必要があるようです。
exclude=kernel*
↓
#exclude=kernel*
グーグル先生に聞いてみるとLinuxのカーネルのバージョンが古いのが問題なので新しいものをインストールするようにというのが書いてありました。
※エラーメッセージにも「yum install kernel-devel-2.6.32-431.el6.x86_64」と表示されるので、その通りにしてみます。
>yum install kernel-devel-2.6.32-431.el6.x86_64
言われたとおりにやってみる→なぜかうまくいかない
Error: Nothing to doとメセージがでる
>sudo yum install kernel kernel-devel言われたとおりにやってみる→なぜかうまくいかない
Error: Nothing to doとメセージがでる
グーグル先生に聞いた通りにやっている→うまくいかない
Error: Nothing to doとメセージがでる
ですが、インストール自体がされません。
Qiitaでこの問題を解決している記事がありました。
Vagrantのフォルダ同期のエラーの対処
そもそも、yumでkernelのインストールを止めているようでした。
カーネルのアップグレードをする為には、「/etc/yum.conf」のカーネルを対象外にする(?)設定をコメントアウトする必要があるようです。
exclude=kernel*
↓
#exclude=kernel*
これで、「sudo yum install kernel kernel-devel」をすると正しくインストールされます。
あとは、ゲストOSを再起動するだけです。
まとめると
- 同期フォルダが同期されなくなった場合、GuestAddionsのバージョンを疑う
- Vagrant pluginの「vagrant-vbguest」をインストールする
vagrant plugin install vagrant-vbguest - なぜか、「GuestAddions」のインストールに失敗する
Kernelのdevelがインストールされていない為、正しくコンパイルができない。 - kernel-develをインストールする
sudo yum install kernel kernel-devel
↓
インストールされない場合は、/etc/yum.confのexclude=kernel*をコメントアウトして再度、カーネルをインストールする - ゲストOSを再起動し、フォルダ共有ができるか確認する
できなかったら、別の問題なので解決方法を探す
これが、VagrantとVirtualBoxの最後のハマりどころになれば良いのですが…。