Skip to content

Instantly share code, notes, and snippets.

@greister
Created November 20, 2017 12:07
Show Gist options
  • Save greister/e46241baa37cc3a0e279059f98497a2f to your computer and use it in GitHub Desktop.
Save greister/e46241baa37cc3a0e279059f98497a2f to your computer and use it in GitHub Desktop.
Notes on preparation minimal Vagrant base box for Arch / Manjaro Linux.

Creating minimal Vagrant base box for Arch / Manjaro Linux

mkdir /home/vagrant/.ssh
wget --no-check-certificate \
    'https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub' \
    -O /home/vagrant/.ssh/authorized_keys
chmod 0700 /home/vagrant/.ssh
chmod 0600 /home/vagrant/.ssh/authorized_keys
chown -R vagrant /home/vagrant/.ssh
  • Remove packages
    • Find installed packages by size
expac -H M "%011m\t%-20n\t%10d" $(comm -23 <(pacman -Qqen | sort) <(pacman -Qqg base base-devel | sort)) | sort -n
  • Clean up
sudo su -
pacman -Scc --noconfirm
paccache -ruk0
rm -rf /var/log/journal/* /var/log/old/* /var/log/faillog /var/log/lastlog /var/log/pacman.log
rm -f /home/vagrant/.bash_history
rm -f /root/.bash_history
cd /root
dd if=/dev/zero of=zerofillfile bs=1M
rm -f zerofillfile
vagrant package --base {VIRTUALBOX VM NAME} --output virtualbox.box

Finally, remove config.ssh.insert_key = false from the Vagrantfile.

  • Test
vagrant box add {VAGRANT BOX NAME} virtualbox.box
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment