For a couple of years now I have been using a scheme that allows me to dual-boot a stable system (for work) and an experimental system (for fun) with minimal breakage.
Recent reports of people who upgraded their linux machines and ended up with a broken system prompted me to share it.
The idea is to divide your hard disk into at least 7 partitions
root/usr system 1 12GB
root/usr system 2 12GB
/var partition system 1 6GB
/var partition system 2 6GB
shared /tmp partition 4GB
shared swap partition 2GB
shared home partition 100GB
Just in case you are wondering about the small partition sizes: I am using a 160 GB SSD. It was the best hardware investment in a long time and really makes a difference.
If you are using e.g. a 320/500GB hard disk feel free to double the partition sizes (and/or triple the size of the home partition).
When installing a new linux now only two partitions dedicated to that particular installation are needed:
- a root/usr partition
- a /var partition
All the others (/tmp, swap, and /home) are shared. This works particularly well when the two installed systems are reasonably similar (e.g. Ubuntu 10.10 and 11.04). What you can do with the set-up described above is a full/proper installation of the desired system as opposed to an upgrade.
Please note that backing up data you cannot afford to lose is a standard procedure before you tinker with your system (e.g. prior to OS installations and/or upgrades).
Sometimes the experimental system is so unstable that I use another technique: a chroot/schroot combination.
There was e.g. a period during which an installed Ubuntu 11.04 was “unusable” (for me) but I needed to run it for a number of reasons.
I resorted to running Ubuntu 10.10 as my main work system and having an 11.04 chroot. Entering the latter via the schroot utility made for a fairly seamless experience.
I hope this helps