Vagrant の Box を作成する (3)

Vagrant の Box を作成する (2) の続きで、作成した box の不具合と修正などについて。

作成した box の不具合

virtualbox-guest-utils のインストール

vagrant up

のときに

[default] No guest additions were detected on the base box for this VM! Guest
additions are required for forwarded ports, shared folders, host only
networking, and more. If SSH fails on this machine, please install
the guest additions and repackage the box to continue.

This is not an error message; everything may continue to work properly,
in which case you may ignore this message.

という警告が出るが、VBoxGuestAdditions_4.1.18.iso からではなく、 パッケージの virtualbox-guest-utils をインストールすることで解消する。

vagrant ssh
sudo apt-get install virtualbox-guest-utils

[追記] box を作成したマシンだと警告がきえた(はずなのだ)が、 他のマシンで box を利用するとうまくいかなかった。 ホストの VirtualBox のバージョンは同じだが、 vagrant のバージョンを 1.1.4 にアップグレードしたのが悪かったのだろうか。 特に困らないということでこれ以上調べないことにしたので、原因は不明。

エラー(ホストの Vagrantfile のディレクトリがマウントできない)

The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` vagrant-root /vagrant

というエラーが出る。直す方法はよくわからなかった。

設定ファイルの修正

設定し忘れていたことや不具合を、 次にはじめから box を作成するときのために修正しておく。

preseed.cfg の修正

preseed.cfg でタイムゾーンを Asia/Tokyo にする。

d-i time/zone string UTC

d-i time/zone string Asia/Tokyo

にする。locale を ja_JP.utf8 にする。

d-i debian-installer/locale string en_US.utf8

d-i debian-installer/locale string ja_JP.utf8

にする。

postinstall.sh の修正

box の作成時の VBoxGuestAdditions のインストールでエラーになる。

VBOX_VERSION=$(cat /home/vagrant/.vbox_version)
mount -o loop VBoxGuestAdditions_$VBOX_VERSION.iso /mnt
sh /mnt/VBoxLinuxAdditions.run
umount /mnt

rm VBoxGuestAdditions_$VBOX_VERSION.iso

ここの部分はうまく動かないので virtualbox-guest-utils のインストールに変える。

apt-get -y install virtualbox-guest-utils

vagrant basebox build で作った仮想マシンを修正

vagrant basebox up ubuntu-raring-server

で起動して

vagrant basebox ssh ubuntu-raring-server

として ssh でログインする。パスワードは definitions.rb で指定したものを入力する。 上で述べた不具合を修正していく。

sudo apt-get -y install virtualbox-guest-utils
sudo dpkg-reconfigure tzdata
sudo apt-get install language-pack-ja
sudo update-locale LANG=ja_JP.UTF-8

シャットダウンする。

sudo shutdown -h now

変更した仮想マシンを export する。

vagrant basebox export ubuntu-raring-server

参考

Tags of current page

, ,