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

VeeweeでCentOS6.5のboxを作る

ただの作業記録です。

  • 以下のGemfileを作って bundle install
source 'https://rubygems.org'

gem 'veewee'
  • CentOSのテンプレートを探す
# bundle exec veewee vbox templates | grep CentOS
  • CentOS6.5が見つからないため(veewee 0.3.12時点)、CentOS6.4を選択
# bundle exec veewee vbox define centos6_64 'CentOS-6.4-x86_64-minimal'
  • boxファイルのビルドを実行
# bundle exec veewee vbox build centos6_64
  • 実行するとエラー(どうやらファイルがなくなっている模様)
http://yum.singlehop.com/CentOS/6.4/isos/x86_64/CentOS-6.4-x86_64-minimal.iso:
404 Not Found
  • CentOS6.5のminimal.isoはあるみたいなので、ISOファイルの取得情報が書かれているファイル definitions/centos6_64/definition.rb を書き換える(isoのMD5http://yum.singlehop.com/CentOS/6.5/isos/x86_64/md5sum.txt を参考にしましたが、veeweeのmasterブランチにはCentOS6.5用のテンプレートがあるみたいなので、それと差し替えてもよいと思います)
   # :iso_file => "CentOS-6.4-x86_64-minimal.iso",
   # :iso_src => "http://yum.singlehop.com/CentOS/6.4/isos/x86_64/CentOS-6.4-x86_64-minimal.iso",
   # :iso_md5 => "4a5fa01c81cc300f4729136e28ebe600",
   :iso_file => "CentOS-6.5-x86_64-minimal.iso",
   :iso_src => "http://yum.singlehop.com/CentOS/6.5/isos/x86_64/CentOS-6.5-x86_64-minimal.iso",
   :iso_md5 => "0d9dc37b5dd4befa1c440d2174e88a87",
  • リトライ
# bundle exec veewee vbox build centos6_64
  • 成功
The box centos6_64 was built successfully!
  • box作成
# bundle exec veewee vbox export centos6_64

補足

気軽にVagrantを使うのであれば、Vagrantbox.esにて公開されているものを使えばよいと思います。
今回、CentOS 5.10/6.5のそれぞれについて、x86/x86_64の組み合わせで、合計4つのboxを用意したかったのです。どのパターンのboxも公開はされているのですが、boxファイルの出処がバラバラで、「要するに何が入っているか分からなくて管理するの怖い」状態だったので、自前で素の状態のboxを用意したいと思ったのでした。

vbox build は10分ちょっとで自動で終わりますし、boxファイルは一度作っておけばずっと使えるので、許容できる範囲の手間だと思います。