VirtualBoxが4.2から4.3にアップデートのためVirtualBox Guest Addonsの更新が必要となった。
いい機会なのでboxを自作してみた。
ダウンロード
特徴
- localeとtimezoneが日本!
- build-essentialが入っているので将来のVirtualBox Guest Addonsのインストールも対応可能。
- 不要なパッケージは削除していません。というか
- chefやpuppet使えてないので含めてません。(使い方覚えたらいれときます。)
QuickTutorial
-
vagrant package --base <vms名>
でpackage.boxが出来る。
以下作成手順
OSセットアップ
- 今回使用したのは ubuntu-13.10-server-amd64.iso
- hddは40gb
- / に全容量を割り当て、swapは作らない。
- ssh serverのみインストール
- id:pass = vagrant:vagrant
OSセットアップ後
最新版にupdate
$ sudo apt-get upgrade
sudoers
$ vim /etc/sudoers
vagrant ALL=(ALL:ALL) NOPASSWD:ALL
ssh鍵
$ mkdir .ssh
$ chmod 700 .ssh
$ cd .ssh
$ curl -L -o authorized_keys http://bit.ly/mqvENf
$ chmod 600 authorized_keys
http://bit.ly/mqvENf は https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub の短縮URL
sshd
ssh接続を早くするため追記
$ sudo vim /etc/ssh/sshd_config
UseDNS no
grub
起動速度を早くするため
$ sudo vim /etc/default/grub
GRUB_HIDDEN_TIMEOUT=0
$ sudo update-grub
failsafe.conf
- sleepの行をコメントアウト
virtualbox guest addon
$ sudo apt-get install build-essential
$ mount /dev/cdrom /media
$ /media/VBoxLinuxAdditions.run
権限確認
$ sudo chown vagrant:vagrant $(find $HOME -uid 0)
不要なファイル削除
$ rm /var/lib/dhcp/*
$ cat /dev/null > ~/.bash_history
ゼロ埋め
$ dd if=/dev/zero of=empty bs=1M
$ rm empty
boxの作成
$ VBoxManage list vms
$ vagrant package --base saucy
package.box が作成される。
chef
- chefはここで勉強する http://tsuchikazu.net/chef_solo_start/
ホストにchefをインストール
$ sudo gem i chef --no-ri --no-rdoc
$ knife configure
$ sudo gem i knife-solo --no-ri --no-rdoc
$ knife solo init chef-repo
ゲストにchefをインストール
$ vagrant ssh-config --host saucy >> ~/.ssh/config
$ knife solo prepare saucy