~/.vagrant.d/boxes/BOX_NAME 以下にある。
$ tree ~/.vagrant.d/boxes/package.box
/Users/kyanny/.vagrant.d/boxes/package.box
└── 0
└── virtualbox
├── Vagrantfile
├── box-disk1.vmdk
├── box.ovf
├── include
│ └── _Vagrantfile
├── metadata.json
└── vagrant_private_key
package.boxはこの場合 box 名- この box を使って
vagrant upすると Vagrantfile load order に従って~/.vagrant.d/boxes/package.box/0/virtualbox/Vagrantfileが読み込まれる - その
Vagrantfileの中でさらにinclude/_Vagrantfileも読み込まれる - この
_Vagrantfileがvagrant package --vagrantfileオプションで指定した Vagrantfile そのもの
vagrant package - Command-Line Interface - Vagrant Documentation
じゃあなんでそもそも package.box を作るときに --vagrantfile オプションで指定した Vagrantfile も含めることができるのかというと、 box ファイルは Gzipped TAR アーカイブでその中に入っているから。 box ファイルを展開すると ~/.vagrant.d/boxes` にあるのと同じファイル群が出てくる。
$ tar xzvf package.box x ./box-disk1.vmdk x ./box.ovf x ./include/ x ./include/_Vagrantfile x ./vagrant_private_key x ./Vagrantfile $ tree . . ├── Vagrantfile ├── box-disk1.vmdk ├── box.ovf ├── include │ └── _Vagrantfile ├── package.box └── vagrant_private_key