日本人向け 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