Vagrant の Box を作成する (1)

veewee と vagrant 1.0.7 で box を作成したのだが、 それを vagrant 1.1.2 で使用しても問題ないようだった。 作成するときに試行錯誤したことをだいたいそのまま書いてあるので、 以下の手順はもう少し簡略化できると思う。

Vagrant のインストール

Ubuntu 12.10 で vagrant の box を作成する。 Ubuntu のパッケージにも vagrant の deb はあるが最新のバージョンではないので http://downloads.vagrantup.com/ から最新の deb をダウンロードしてインストールする。 今回はバージョン 1.1.2 の vagrant_x86_64.deb をダウンロードした。

dpkg -i vagrant_x86_64.deb

gem の vagrant をすでにインストールしていたため、

vagrant -v

としてもバージョンが 1.1.2 にならずにはまった。もし gem の vagrant をインストールしているなら

gem uninstall vagrant

でアンインストールする。

Ubuntu の ISO イメージ

Ubuntu 13.04 の server 版で vagrant の box を作ることにする。

zsync http://cdimage.ubuntu.com/ubuntu-server/daily/current/raring-server-amd64.iso.zsync

でダウンロードした。

veewee のインストール

gem でインストールすれば良いと思って

gem install veewee

としたが、これだと gem の vagrant 1.0.7 がインストールされてしまう。 rvm を利用しているので veewee 専用の gemset を用意することにした。

rvm gemset use veewee --create
gem install fog -v 1.9
gem install veewee

veewee の依存関係のために fog の 1.9 を先にインストールする。

vagrant 1.1.2 の設定ファイルがあると動かない。まだ、vagrant を使っていない場合は

rm -r ~/.vagrant

として設定を削除する。そうでないなら ~/.vagrant を後で元に戻せるように別の名前にしておく。

vagrant basebox

veewee をインストールすると vagrant basebox が使えるようになる。

vagrant basebox templates

とすると basebox のテンプレートの一覧が表示される。この中から選択して

vagrant basebox define 'mybuntubox' 'ubuntu-12.10-server-amd64'

のようにすると definitions/mybuntubox/ に設定が作成される。

テンプレートにない Ubuntu 13.04 の box を作りたい。

vagrant basebox define 'ubuntu-raring-server' 'ubuntu-12.10-server-amd64'

ubuntu-12.10-server-amd64 のテンプレートを元にして definitions/ubuntu-raring-server/definition.rb を編集する。 上の ISO イメージの md5sum は http://cdimage.ubuntu.com/ubuntu-server/daily/current/MD5SUMS にある。 今回は次のように編集する。

  :iso_file => "raring-server-amd64.iso",
  :iso_src => "http://cdimage.ubuntu.com/ubuntu-server/daily/current/raring-server-amd64.iso",
  :iso_md5 => '864fa43ca6c74936f9c4b08609bab759',

ダウンロードしてあった raring-server-amd64.iso を iso に移す。

mkdir iso
mv raring-server-amd64.iso iso

次のコマンドを実行すると仮想マシンの作成が始まる。

vagrant basebox build ubuntu-raring-server

インストールと設定が終了したら

vagrant basebox export ubuntu-raring-server

で box のファイルができる。 Ubuntu のインストール自体は kickstart という仕組みで自動で進むようだ。

参考

Tags of current page

, ,