- Archlinux の Virtualbox 用 Vagrant box を作る。 http://www.vagrantbox.es にはすでにあるけど、サイズが 400M に近いサイズのものが多く、もっと減らせるのではと思った
- 勉強
Virtualbox で仮想マシンを作成する。
- 名前は vagrant-archlinux
- メモリは 256MB
- ディスクは VDI で約 40GB
- 接続には NAT
ここからイメージを落としてくる。 マウントし、起動。
- パーティションは分けない。 swap もめんどいからなし
- ホスト名は
vagrant-archlinux /etc/localtimeは/usr/share/zoneinfo/UTC- passwd:
vagrant - その他 Installation guide - ArchWiki に書かれている普通の手順を踏む
ここで再起動し、ハードディスクから起動し直す
- ネットワークは dhcpcd で設定
# useradd -m -G wheel -s /bin/bash vagrant; passwd vagrantする。パスワードはvagrantsudoを設定する%wheel ALL=(ALL) NOPASSWD: ALLを uncommentDefaults env_keep += "SSH_AUTH_SOCK"という行を加える
- ここを見つつ、
virtualbox-guest-utilsをインストールする - ruby, rubygems, puppet, openssh をインストールする。
sudo gem install chefする。 - ssh鍵を https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub からコピーし、
/home/vagrant/.ssh/authorized_keysに置く。chmod 700 /home/vagrant/.sshをついでにする。 /etc/ssh/sshd_configにUseDNS noを追記する- sshd を立てる
マシンを終了する。
$ vagrant package --base vagrant-archlinux
仮想マシンの名前を使って package を実行する。
この時点で、 .box のサイズは 545M だった。 大きすぎるので、 WEB の情報も参考にサイズを減らすことを試した。
- パッケージのキャッシュを削除する。
pacman -Scc gem install chefに必要だった gcc と make を削除。pacman -Rs gcc make- ディスクの空き部分をゼロで埋める?
dd if=/dev/zero of=/empty bs=1M; rm /empty
サイズは 288M になった。
縮める前に比べれば予想以上に減った。ここまで減ったのはゼロで埋めたのが大きいのかも? もしかしたら既存の http://www.vagrantbox.es/ のものもゼロで埋めるだけで減るかも??
一番初めの考えではもっと小さくなると思っていたけれど、最終的には 300M 程度になった。 virtualbox-guest-utils の依存で xorg 系のパッケージが軒並み入ったりしてそれが容量を増やしているような印象を受けたけど、正直分からない。
Archlinux の Vagrant Box (VirtualBox) を一から作る - 冷蔵庫 に複製。