読者です 読者をやめる 読者になる 読者になる

Vagrant 用仮想マシン (box) の VirtualBox Guest Additions のバージョンアップ (vagrant-vbguest)

vagrant macintosh linux centos debian development virtualization

VirtualBox のバージョンアップが結構頻繁に行われるので、box の Guest Additions のバージョンと VirtualBox 本体のバージョンがずれてしまいます。
その度に box を作りなおしたり、起動した仮想マシンで手動バージョンアップするのも面倒なので、vagrant-vbguest*1 を利用して自動バージョンアップを行うようにします。

vagrant-vbguest のインストール

$ vagrant plugin install vagrant-vbguest
$ vagrant plugin list
.....
vagrant-vbguest (0.10.0)

設定

vagrant-vbguest は、デフォルトで仮想マシンを起動した時に Guest Additions をバージョンアップするようになります。
毎回自動で更新する必要はないので、自動更新を無効化します。*2

$ vi ~/.vagrant.d/Vagrantfile (追記)
Vagrant.configure("2") do |config|  
  config.vbguest.auto_update = false  
end

仮想マシンの Guest Additions をバージョンアップ

$ vagrant up  
$ vagrant vbguest --status  
GuestAdditions versions on your host (4.3.10) and guest (4.3.8) do not match.  

仮想マシンの Guest Additions と VirtualBox 本体のバージョンが異なると上記のようなメッセージになるので、--do install でバージョンアップします。

$ vagrant vbguest --do install
$ vagrant vbguest --do start
$ vagrant vbguest --status  
GuestAdditions 4.3.10 running --- OK.  

vagrant-vbguest を使うと簡単に Guest Additions がバージョンアップできるので、Vagrantbox.es など外部公開されている box を使う時に Guest Additions のバージョンを気にする必要がなくなります。

*1:Vagrantプラグインで、VirtualBox仮想マシンにインストールされている Guest Additions を利用中の VirualBox のバージョンに更新します

*2:ということで、冒頭で自動バージョンアップを行うようにしますと書きましたが、厳密には自動ではないです