Skip to content

Instantly share code, notes, and snippets.

@yuki-takei
Forked from jdowning/vagrant-clean.sh
Last active December 5, 2018 11:43
Show Gist options
  • Save yuki-takei/4b0823c6e882ef030ad46e534fc6cc7c to your computer and use it in GitHub Desktop.
Save yuki-takei/4b0823c6e882ef030ad46e534fc6cc7c to your computer and use it in GitHub Desktop.
Script to clean up Ubuntu Vagrant box before packaging
#!/bin/bash
# This script zeroes out any space not needed for packaging a new Ubuntu Vagrant base box.
# Run the following command in a root shell:
#
# bash <(curl -s https://gist.github.com/yuki-takei/4b0823c6e882ef030ad46e534fc6cc7c/raw/vagrant-clean.sh)
function print_green {
echo -e "\e[32m${1}\e[0m"
}
print_green 'Clean Apt'
apt -y autoremove
apt clean
apt autoclean
print_green 'Cleanup bash history'
unset HISTFILE
[ -f /root/.bash_history ] && rm /root/.bash_history
[ -f /home/vagrant/.bash_history ] && rm /home/vagrant/.bash_history
print_green 'Cleanup log files'
find /var/log -type f | while read f; do echo -ne '' > $f; done
# print_green 'Whiteout root'
# count=`df --sync -kP / | tail -n1 | awk -F ' ' '{print $4}'`
# let count--
# dd if=/dev/zero of=/tmp/whitespace bs=1024 count=$count
# rm /tmp/whitespace
print_green 'Whiteout /boot'
count=`df --sync -kP /boot | tail -n1 | awk -F ' ' '{print $4}'`
let count--
dd if=/dev/zero of=/boot/whitespace bs=1024 count=$count;
rm /boot/whitespace
# print_green 'Whiteout swap'
# swappart=`cat /proc/swaps | tail -n1 | awk -F ' ' '{print $1}'`
# swapoff $swappart
# dd if=/dev/zero of=$swappart
# mkswap -f $swappart
# swapon $swappart
print_green 'Zero out disk'
dd if=/dev/zero of=/EMPTY bs=32M
rm -f /EMPTY
print_green 'Vagrant cleanup complete!'
@yuki-takei
Copy link
Author

for Ubuntu 16.04

  • use apt insteadof apt-get, aptitude

miscellaneous

  • ignore following steps
    • Whiteout root
    • Whiteout swap
  • accelerate dd

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment