Most the time I help users with that problem, they don't really miss some space for the system, 20 Gb is large for system files (/). The problem is often that they need to clean useless updates and packages.
Step 1: delete old kernels
If you are using a Ubuntu 12.04 LTS and it is installed for monthes, you have a lot of useless kernels installed with security updates. More, if you are using some restricted drivers for your graphic card, you have too many kernel headers installed. Every kernel and headers take a huge amount of space, and it is usually the cause of lack of your problem.
To do the cleanup more easily, I recommend to install the good old Synaptic package manager. In a terminal:
sudo apt-get install synaptic
Of course, you can do that with Software Center or Aptitude too.
Launch Synaptic, it will ask for your password. In the search tool, type and find
linux-image. Select name of the package, not "description".
Then, go at the bottom of the list, keep the two or three latest kernels installed. And going up, right click on older kernels, and select "Mark for complete removal".
Once done, do the same with packages named `linux-headers". Take care to keep the headers coordinate to the images you keep.
Then, click on "Apply" in the top bar of Synaptic. And wait, for it can take some time to remove a lot of old kernels.
Step 2: remove useless packages
The aim is to remove the package your system don't need anymore. This is done with two simple terminal command, for I don't know how to do it with a GUI.
sudo apt-get autoclean
This one removes from local apt-get cache old packages that can not be downloaded anymore. If you want to completely purge that cache, you can instead use
sudo apt-get clean.
sudo apt-get autoremove
This one check all dependencies of all packages, and then, automatically remove packages that are not anymore needed by the system or an application. Very useful if you install and removes applications sometimes.
Et voilà !
You should have recover most or your free space.
Please notice that their might be some important amount of data in your system partition:
- If you have some databases or a webserver running in the background, you might some data in /var/. It might be good to create a separate partition, or to configure the servers to use files in your /home.
- If you have a lot of Fonts files, it will be in the system partition too.