Help us understand the problem. What is going on with this article?

veeweeでVagrant用のboxをつくったメモ

More than 5 years have passed since last update.

成果物 => https://github.com/luckypool/veewee-ubuntu-saucy-64

はじめに

veeweeで base box をつくるモチベーションは下記のような感じ

  • Vagrant は気軽に scrap & build できてアツい
  • vagrantbox.esで各種 base box が配布されてて、気軽に使える
  • しかし 人様のboxは何をどうやって作ったか分からん ので base box 自分でつくりたい

ってことでveeweeをつかってみました

なんで veewee?

packerでも base box を作ることができます。しかし、documentをみながら一つ一つ設定していくのは結構手間がかかります。また、基本設定はなんだかんだ同じようなはずなので、先人の知恵(veewee/templates)が詰まってるveeweeが便利そうです。また、状況によって template を自分好みに修正すれば良さそうです。

今回はVagrantで使うVirtualBoxのイメージを作ってみました。

以下はそのメモです。

About “veewee”

そもそも veewee って何か?
「VMイメージを簡単に作る便利ツール」です。gemになってます。
Vagrant, VirtualBox, VMWare, KVMなどのイメージをつくることができるようです。

Requirements

Installation

Using template

bundle exec veewee vbox templates | grep -i ubuntu

こんな感じで ubuntu の base box のテンプレート一覧が取得出来ます。
私は学生時代 yum よりは apt にお世話になってたので、 ubuntu-13.10-server-amd64 のテンプレートを使うことします。

bundle exec veewee vbox define ‘ubuntu-saucy-64’ ‘ubuntu-13.10-server-amd64’

すると definitionsディレクトリ以下に下記のようなスクリプト(テンプレート)が作られます。

definitions
└── ubuntu-saucy-64
    ├── apt.sh
    ├── build_time.sh
    ├── chef.sh
    ├── cleanup.sh
    ├── definition.rb
    ├── parallels.sh
    ├── preseed.cfg
    ├── puppet.sh
    ├── ruby.sh
    ├── sudo.sh
    ├── vagrant.sh
    └── vbox.sh

このままでもOKですが、私はpreseed.cfgを2箇所だけ修正しました

他にも修正したい場合はドキュメント参照しましょう

Build box

bundle exec veewee vbox build ubuntu-saucy-64

これで iso イメージのダウンロードから基本設定までやってくれます。GUIをオフにすることもできるようですが、勝手に設定されてくのを眺めるのも面白いです。

Export box

bundle exec veewee vbox export ubuntu-saucy-64

これで ubuntu-saucy-64.box が生成されます
そして、ログにあるとおりにboxを追加して vagrant up するだけです :)

vagrant box add ubuntu-saucy-64 ./ubuntu-saucy-64.box
vagrant init ubuntu-saucy-64
vagrant up
vagrant ssh

おわりに

成果物 => https://github.com/luckypool/veewee-ubuntu-saucy-64

  • veewee は先人の知恵(veewee/templates)が詰まってる
  • このtemplatesを参考に修正していけばカスタムbase boxがつくれる
  • README.md見れば大抵のことは事足りるので簡単です

base box 作ったらあとは chef で煮るなり焼くなりして遊びましょう。

以上!

luckypool
へっぽこえんじーにゃ
https://github.com/luckypool
mixi
全ての人に心地よいつながりを
http://mixi.co.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away