I had a similar problem. First step was to find the top ten space hogs:
# cd /usr/share
# du -sm * | sort -rn | head -10
/usr/share/doc was 759MB on my system. Space that could be useful for other purposes. With *nix you can move things around without breaking things. In my case I had plenty of free space on /home which was on a different partition:
# mkdir -p /home/share/doc
# mv /usr/share/doc/* /home/share/doc
# rmdir /usr/share/doc
# ln -s /home/share/doc /usr/share/doc
If you are really desparate, you can always mount an external hard drive and perform a similar relocation process. The thing to watch for in that case is that you don't move anything critical to the system startup to the external drive.
/usr/src is another candidate, but I wouldn't move
/usr/lib, too risky.