Vagrantで、centos/7等の標準的なBOXをベースにカスタムしたVMを保存しておいたり、配布したりするためにBOXを作る手順です。 自分用のメモとして。

VM内での操作

VBoxGuestAdditionsを導入する。

以下のソースを適当なファイルに保存する。(ここでは$HOME/ins.shとします。) このとき、二行目はVirtualboxのバージョンに合わせて適宜書き換える。 リストはこちら

1
2
3
4
5
6
7
8
yum install -y wget kernel kernel-devel perl gcc
wget http://download.virtualbox.org/virtualbox/5.1.18/VBoxGuestAdditions_5.1.18.iso
mkdir /media/VBoxGuestAdditions
mount -o loop,ro VBoxGuestAdditions_5.1.18.iso /media/VBoxGuestAdditions
sh /media/VBoxGuestAdditions/VBoxLinuxAdditions.run
rm VBoxGuestAdditions_5.1.18.iso
umount /media/VBoxGuestAdditions
rmdir /media/VBoxGuestAdditions

保存したスクリプトを管理者権限で実行します。

1
sudo bash ins.sh

yumをきれいにする

軽量化のため、yumをきれいにします。

1
sudo yum clean all

ゼロ埋めして消す

圧縮効率向上のため、ゼロ埋めして消します。

1
2
sudo dd if=/dev/zero of=/EMPTY bs=1M
sudo rm /EMPTY

ホストからの操作

BOXを作成する

1
vagrant package

** box listに登録する

1
vagrant box add package.box