vagrant用のboxサイズを小さくしたい

『vagrant up』で起動。
『vagrant ssh』で仮想環境に入る。
『su -』と打ち込んでroot権限になる。
そこからが問題なのだ。

容量減らせた物

安全に容量減らせたものを書いておく

1.マウントを一時的に外す

あくまで一時的。影響はない

umount /vagrant

2.yumで利用したファイルのキャッシュ削除

yum clean all

3.ログや一時ファイルなどの削除

『/var/log/』『/tmp/』『/var/tmp/』『/usr/local/src/』『/var/ww/html』から不要物消すといいらしいが、『/var/log/』以下は設定ファイルとかあるので怖いから対象から外したものになっている。
消してえらい目にあった…

find /var/log -type f | while read f; do echo -ne ‘’ > $f; done && rm -rf /tmp/* /var/tmp/* /usr/local/src/* /var/ww/html

分けることも出来る様子

find /var/log -type -f | while read f; do echo -ne ‘’ > $f; done
rm -rf /var/ww/html

4.フラグメンテーションを解消

ゼロ埋めしたファイルを作成し削除する。
するとBox作成時の圧縮効率を上がるらしい。

dd if=/dev/zero of=/EMPTY bs=1M
rm -f /EMPTY

最初安全有名な2と↑だけ実行したら20MBしか減らなかったので笑った。

dd if=/dev/zero of=/EMPTY bs=1M; rm -f /EMPTY

これで1行に出来るようだ

『e4defrag』というデフラグ使えるなら

e4defrag / && dd if=/dev/zero of=/EMPTY bs=1M; rm -f /EMPTY

でイイラシイデスヨ
※Ubuntuは標準装備らしいが、当方CentOSだから試してない

5.bash履歴消す

全部消すなら

rm ~/.bash_history

指定するなら

rm /root/.bash_history && /home/vagrant/.bash_history

元807MB程度からでは100MBくらいしか減らなかったけど、元々内部にデータはないからな…


ここからは作る・使うことについて自分用メモ。

BOXを作る

『ssh』からログアウト。
『vagrant halt』で仮想環境を終了。

vagrant package --base 【仮想マシン名】 --output 【出力box名】

オプション付けなくても出来る。
『--output』オプションがなければ『package.box』となる。

BOXを使う

BoxをVagrantに登録

vagrant box add 【新・仮想マシン名】 【.box(URL・ディレクトリ含めれる)】

登録されているBOX(仮想マシン名)を確認

vagrant box list

Vagrantfileを作成(Vagrantの初期化)

vagrant init 【新・仮想マシン名】

Vagrant起動高速化

『Vagrantfile』の

  config.vm.box = "【新・仮想マシン名】"

の下に

  config.omnibus.chef_version = :latest

を追加。

そして起動!

vagrant up

このときもし『Unknown configuration section 'omnibus'.』が出るようなら、下記を実行して『omnibus』を入れてから起動

vagrant plugin install vagrant-berkshelf 
vagrant plugin install vagrant-omnibus

Vagrantに登録したbox名を変更(windows)

boxの実態をリネームするだけでbox名を変更できるそうな。
%userprofile%/.vagrant.d/boxesにある対象BOXの名前に変更
あとはvagrant initで新しいbox名を指定するだけ

vagrant init 【新しいBOX名】

参照
VagrantでオリジナルBoxを作成する | ParadigmParadig
Vagrant用のboxファイルを小さくする | e2esound.com業務日誌
box作成
Vagrant boxを小さくする - Qiita
▲がUbuntu情報のため『yum と apt の対応表 - しょぼんメモリ (´・ω・`)
プラグインのせいで遅くなったvagrant upを高速化する方法 · DQNEO起業日記
新しい環境でvagrant upに失敗した時の対応〜 omnibusがなんとかかんとか 〜 | No:191 | 毎日工房 |
Vagrantのbox名を変更する #vagrant - nori3tsu's blog

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です