Recently I was playing with a Kali VM and I installed so much stuff to it that I used up the disk! Literally, I was at 100% used! Yikes!
I started to try to delete unnecessary files, trash, cached apt packages, etc, but quickly came to the conclusion that I wanted everything that I had on the Kali VM, and my disk was still 96% full. So I needed a way to offload files that I still wanted.
I looked through my VM, which had a single 20GB hard drive, and saw that /usr had 10GB by itself, and /opt had 4GB. So I decided to create a new virtual hard drive, move over my /opt files, and change /opt's location in /etc/fstab to point to the new directory. This solved my problem, as my drive that USED to say 96% full, now says 73% full, just by moving /opt.
Here's how I moved it:
I added a new virtual hard drive in VirtualBox that was 12GB.
I booted up the VM, went into fdisk, and noted (by doing 'ls /dev/sd*') that my new drive was called sdb. I used fdisk to create a new primary partition and write the changes.
I then made a file system on that newly created partition with:
#mkfs -t ext3 /dev/sdb1
Then I went into single user mode to ensure that I could copy over all the /opt files
After I booted into single user mode, I did this:
#mount /dev/sdb1 /mnt/Disk2opt
#cp -avx /opt/* /mnt/Disk2opt/
#mv /opt /opt_old
#ln -s /mnt/Disk2opt /opt
I then added this line to the /etc/fstab
'/dev/sdb1 /opt ext3 defaults 1 2'
That was it! After I rebooted and saw that everything was working fine, I deleted the /opt_old directory, and freed up all that space. That made my 96% used drive go down to 73% used! Awesome!