AB Lab

abgata20000 blog.

Vagrantでpackage作成した際にVirtualBoxのVersionが異なる場合の対処法

そもそも Vagrant 使おうと思いたった経緯

以前 ドットインストール さんにレッスンがあったので

試してみたことはあったのですが、

自分の環境で利用している「pallarels desctop」と相性が悪いのか、

同時に立ち上げるとMacが落ちるという現象があったため利用はしていなかったのです。

がしかし

先日アホなミスをしてしまい、Macを初期化するハメになってしまい、

データや環境の復旧はだいたいできたのですが、

Rubyの環境がどうしてもうまく構築できなくなってしまったため、

これまで、スクリプトの実行をMacで行っていたのを

「Vagrant」を使って仮想環境を構築してそこで実行するようにしようと思いったたのがことのはじめです。

vagrant の box を作成してみる

折角環境を作ったのでboxを作ってみました。

1
vagrant package

少し時間はかかりましたが問題なく package.box が生成されました。

生成された package.box を vagrant に登録して

1
vagrant box add myImage package.box
Vagrantfile
1
config.vm.box = "myImage"

新しく仮想環境を作成してみようとした所、エラーが発生してしまいました。

1
vagrant up

エラー

仮想環境自体は作成されて ssh接続は出来るのですが、どうやら共有フォルダがマウントされていないようです。

共有フォルダを利用できるようにする

少し調べていた結果、 VirtualBox のバージョンがbox作成時と現在とで異なっているのが原因らしいです。

Vagrantの共有ディレクトリ設定でものすっごい躓いた! を参考に問題を解決してみることに

VirtualBoxのバージョン違いを解決するプラグインをインストールする

1
2
vagrant plugin install vagrant-vbguest
vi ~/.vagrant.d/Vagrantfile
javascript:~/.vagrant.d/Vagrantfile
1
2
3
Vagrant.configure("2") do |config|
  config.vbguest.auto_update = false
end

バージョンが異なっているかどうかを確認

1
2
3
vagrant vbguest --status

 GuestAdditions versions on your host (4.3.10) and guest (4.2.16) do not match.

やはりバージョンが違うらしい

1
vagrant vbguest --auto-reboot

で修正してくれるらしいので実行してみた。

無事終了したっぽいので確認

1
2
3
vagrant vbguest --status

GuestAdditions 4.3.10 running --- OK.

解決したらしい。

Vagrant をリブートしてみる

1
2
3
4
5
6
7
8
9
10
11
12
13
14
v reload
~~~
==> default: Configuring and enabling network interfaces...
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

ARPCHECK=no /sbin/ifup eth1 2> /dev/null

Stdout from the command:

Device eth1 does not seem to be present, delaying initialization.


Stderr from the command:

ダメみたい。

IPアドレスがうまく振り当てられていないみたいなので、

ここを参考に少し修正してみる

Vagrant にSSH接続して後に

1
2
sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions
sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions /usr/lib64/VBoxGuestAdditions

を実行

リブートしてみる

1
vagrant reload

解決した。

なかなか大変でした。

Comments