My question is related to this here but I do not get it to work.
I use a pre-made vagrant box from vagrantbox.es ( http://goo.gl/KwQSa2 ) and I want to make some changes and repackage the new virtual machine into a new vagrant box file.
To get the initial box, I add config.vm.box_url = "http://goo.gl/KwQSa2"
to my vagrant file.
After invoking vagrant up
I do vagrant ssh
and then some operation (e.g. touch testfile.txt
).
After logging out I use vagrant package
which creates package.box
.
Then I do vagrant destroy
, add the path to package.box
to config.vm.box_url
in my vagrant file and do vagrant up
again.
When I log into the VM, my testfile.txt
is not there, so it looks like I packaged the unchanged box.
I tried other things such as vagrant box repackage
without success.
What am I missing here?
Best Answer
When you package, you have to specify the UUID of the new VM created (by
vagrant up
) based on the base box.When running
vagrant package --base name --output /path/to/name.box
The
--base NAME
, name should be either the new VM's name or its UUID.You can get it by using the following command: