日本人向け Packer スクリプト差分 for Ubuntu Trusty
Packer?
仮想マシン作成をコード化し、同一のソースから様々なフォーマットのVMイメージを作成する Packer というツールがあります。私は主にこれを VagrantBox 作成の自動化のために使ってます。
このための設定ファイルやスクリプトは https://github.com/opscode/bento や veewee から変換して取得することができます。
最低限のローカライズをする
前述の設定ファイルをそのまま使えばほとんどの場合問題無いものの、自分用に作るならせめてタイムゾーンや近いミラーサーバくらいはデフォルトからいじっておいたほうが使い勝手がよいので、いくつか追記/変更しておく。
ひな形は bento
https://github.com/opscode/bento をちょっといじる
build JSON
packer/ubuntu-14.04-amd64.json
について。packer の設定ファイル。
キーボード
最初のこれは正直どっちでもよいのだが、boot_command
の時点で日本語キーボードに合わせてしまう
+ ” keyboard-configuration/layout=Japanese<wait>", + ” keyboard-configuration/variant=Japanese<wait>",
preseed.cfg
Debian 系のインストール自動化が行える設定ファイル。RH系の Kickstart みたいなもの
json に preseed のパスが指定できる。今回はhttp経由で packer/http/ubuntu14.04/preseed.cfg
等が使われる
タイムゾーン
下記を編集
--- a/packer/http/ubuntu-14.04/preseed.cfg +++ b/packer/http/ubuntu-14.04/preseed.cfg @@ -27,3 +27,3 @@ d-i pkgsel/update-policy select unattended-upgrades d-i pkgsel/upgrade select full-upgrade -d-i time/zone string UTC +d-i time/zone string Japan d-i user-setup/allow-password-weak boolean true
d-i clock-setup/utc
はシステム時刻の設定なので特に変えないほうがよい。
country
apt のミラーがデフォルトで us.archive.ubuntu.com になってしまうので日本のミラーにしておく
+ d-i debian-installer/country string JP + d-i mirror/http/mirror select jp.archive.ubuntu.com
を加える
その他のカスタマイズ
あとは細々とやりやすいように変更する
- chef の最新版を入れておきたい
- VirtualBox GuestAdditions をビルドできる環境はクリーンアップせずに残しておきたい
結果
こんな感じにしました。 https://github.com/komazarari/packer