This blog post from Joey Hess provides a good overview of why we need official Debian base boxes.
Base Box details
Standard Debian system, as created by the Debian Installer (all packages with priority required, important, standard), with the following Vagrant specific enhancements
vagrant unix user, setup according to Upstream recommendations
- Speed improvements
- disable DNS resolution in sshd (speed up logins)
- use a 0s grub timeout to speed up booting
- Disk size improvements:
- fill the unused blocks of the file systems with zeroes to reduce disksize
Note that we don't install the Virtualbox guest additions as it would mean pulling package outside the main debian archive. Contrary to what the scary vagrant up message says, Vagrant and Virtualbox don't need the Virtualbox guest additions for shared folders and port forwarding.
The box does not include provisioners. You can install them at startup by adding in the Vagrant.configure block in your Vagrantfile
# puppet config.vm.provision "shell", inline: "apt-get install --yes puppet" # ansible does not need a client, but needs python-apt to install packages config.vm.provision "shell", inline: "apt-get install --yes python-apt"
These boxes use vagrant rsync to share the current directory to the /vagrant directory inside the box. Syncing happens once when you fire vagrant up, if you want this to happen continuously in the background, start vagrant rsync-auto afterwards.
On Windows, we recommend to start Vagrant from a Cygwin or Msys environment, in which you have installed ssh and rsync.
Alternatively on all platforms, you can use the vagrant-vbguest plugin to build the Virtualbox guest extensions.
The boxes are currently built with Packer from the following git repository https://salsa.debian.org/cloud-team/vagrant-boxes and uploaded to Hashicorps's Vagrant cloud.
See Teams/Cloud/RebuildVagrantBaseBoxes to build the boxes yourself or extend them.
We use the following versioning scheme: DEBIAN VERSION NUMBER + BOX VERSION Ex: 8.0.4 means we use the box uses the Debian release 8.0, the .4 means it is the fourth version based on this release that we uploaded to Vagrant Cloud
The build process requires the contrib virtualbox package. The reason virtualbox is in contrib is the non DFSG compiler required for compiling the BIOS.
For VirtualBox, Checksums of the latest boxes are available inside the git repository at https://salsa.debian.org/cloud-team/vagrant-boxes/tree/master/packer-virtualbox-vagrant.
After downloading the checksums, you can verify the box authenticity by running vagrant with the --checksum option:
vagrant box add --name debian/stretch64 --provider virtualbox --checksum 3625435cbc6ace0a033f64e9495de65286d92d6560dfefe9239a3f9ab02f98a1 --checksum-type sha256 virtualbox.box
Direct checksumming from app.vagrantup.com does not work, see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=878759
Debian account on app.vagrantup.com
We use this trello board: https://trello.com/b/lVRI6QJt/offical-debian-vagrant-base-boxes
EmmanuelKasper, Antonio Terceiro, Lucas Nussbaum