PackerでVirtualBoxのUbuntuイメージを作る話
Posted on 2014/03/01(Sat) 02:35 in technical
概要
PackerとVirtualBoxを使って、OSの自動インストールをします。 インストール対象はUbuntu 12.04.3 LTSを使いますので、自動化にはPreseedも使います。 Vagrantの話はしません。
Packerのインストール
ダウンロードしてきて好きなところにぶちまけるだけの簡単なお仕事です。
Packer Downloads : http://www.packer.io/downloads
今回はWindowsを使うので、zipをダウンロードして適当な場所に置きます。
自動インストール用のファイル作成
本来はここが一番つらくてしんどい行程なのですが、とりあえずお料理番組ばりに冷蔵庫(github)から取得してきましょう。
https://github.com/ainoniwa/packer-templates/archive/f2b38b99a999581a26bc70a631ab0f0c27944b75.zip
OSのインストールイメージの取得
適当なところからダウンロードしましょう。理研さんとかが良いですかね。
http://ftp.riken.go.jp/Linux/ubuntu-iso/CDs/12.04.3/ubuntu-12.04.3-server-amd64.iso
で、packer-templatesの中のubuntu1204フォルダの中に置きます。これは単に僕の独自ルールです。
通報
Packerはインストールイメージの検証を行うので、MD5SUMSまたはSHA1SUMSもダウンロードしておくと良いです。 もしこの記事に従ってainoniwa/packer-templatesを使う場合は、恐らく気にしなくても使えるんじゃないかと思います。
フォルダ構造とファイル群
こんな感じですかね:
+ 0.5.1_windows_amd64 - packer.exe + packer-templates + ubuntu1204 - build1204_3_vbox.bat - disable_udev_persistent_net.sh - enable_serial_ttyS0.sh - ubuntu-12.04.3-server-amd64.iso - ubuntu1204_3_vbox.json
- build1204_3_vbox.bat : 単にpacker.exeを起動するだけのバッチファイル
- disable_udev_persistent_net.sh : OSインストール後の追加設定その1。仮想マシンをクローンすることを想定して、eth0とかを固定しないようにする設定を入れる
- enable_serial_ttyS0.sh : OSインストール後の追加設定その2。シリアルコンソールを有効化しておく
- preseed.cfg : Debian系のOSで使われる自動インストール用の構成情報が書かれたファイル
- ubuntu-12.04.3-server-amd64.iso : さっきダウンロードしてきたUbuntuのCDイメージ
- ubuntu1204_3_vbox.json : Packerの構成ファイル