I have been running OpenSuSE 11.3 with great joy, but as it phased out of official existence I tried out 11.4, got lots of bugs, jumped on 12.1 with great expectations only to run into the madness that is Gnome3.

I have been using Mint 12 since then, but I feel it has certain odd bugs, even though I keep all packages up-to-date. I am considering Mint 13 or possibly switching back to OpenSuSE with XFCE, perhaps even trying out Fedora. Problem is that I can not keep fiddling around with my PC for days, in the middle of projects.

Is there a way to make the switch as painless and seamless as possible? How can I avoid losing my data both as documents etc, but also preferences/settings that I have fixed over the months/years?


all distro hoppers and those who like to keep their config files at /home should keep in mind that leaving /home untouched and cluttered with config files from the previous distro is bad. I had numerous issues with that when changing from Mint KDE to Mint XFCE as well as other distros. While arch can be installed or replaced by any distro without much pain that is not true for the rest.

Symlinking, creating a separate .dotfiles directory is a possible workaround, but what about compatibility? I had some trouble with config files for different app versions. Distros use different versions of many apps in their reps. That is especially the case when you switch to debian stable.

I prefer keeping my data on a separate partition, taking only important config files and diffing them before merge.

As for the a possible distro alternative, I can say that I used to try out a lot of distributions after I left arch in search for a less update aggressive and more stable environment, so the only distibution that I was comfortable to use was crunchbang. But that is just my opinion. Nothing can surpass your own experience ;)


To not lose your data I would recommend two things:

  • Have two partitions: one for / and one for /home.
  • Manage your settings with Git or whatever, and save them on another machine.

When you reinstall, don't modify the /home partition and your settings in /home will be kept.

However I also recommend to use Git for all the settings, including things you want to keep in /etc or /root, and push this on a remote server.

Using a configuration like this, I switched from Debian Unstable to ArchLinux recently without much effort.

I don't keep the old partition, so if the new distro does not work I need to reinstall something else.

EDIT: some details about how I manage my settings:

Basically, I have a dotfiles repository where I keep all my dotfiles (things like .vimrc, the .config directory, the .gtkrc2.0 file, etc), and I have a shell script that links all this to their path:

/home/sphax/.vimrc -> /home/sphax/.dotfiles/vimrc
/home/sphax/.config -> /home/sphax/.dotfiles/config

You can add whatever you want in it, but keep in mind that a lot of those dotfiles still have the default values, so you don't need to version the files that you didn't modify.

For /etc and /root you do the same, one repository for each, that you put somewhere on the /home partition and you symlink everything.

With a setup like this you also get:

  • easy backup (just push on a remote server)
  • easy sharing (for example I share my dotfiles directory across 3 machines, one Debian and one ArchLinux)

It needs some tweaking/code writing at first but after that it's super easy and efficient.

  • I have heard of this before tho never really tried. It assumes that the new installation will play nicely with the "old" /home, which should in theory be true. The other bit about keeping preferences etc on version tracking I am not really familiar with, could you perhaps elaborate about it? (not too familiar with using version tracking in anything other than programming projects) – posdef Nov 6 '12 at 17:07
  • Right, the new software needs to be compatible with the "old" configuration files, but in my experience most software (like KDE, Xfce, Vim, Firefox etc) are backwards compatible. I'll edit my answer to give more details on version tracking. – Vincent Rischmann Nov 6 '12 at 18:59

Certainly having a /home partition separate from / is good (as Vincent Rischmann said) but there are quite a few more issues to consider when either having multiple distributions of linux on the same computer or upgrading to a new version (even, say, Fedora 23 to 26), and to pretty fundamental questions of system administration such as what areas to back up regularly.

Somebody needs to provide a good complete checklist (I haven't found one yet) but here is a small list of issues to consider for any painless switching and avoiding data/config loses:

  • Obviously keep an archive of /etc but be aware that important configuration data now is kept all over the place, and it varies between distro and even major updates within the same distro (e.g. printer definitions, samba passwords, cron'ed jobs, default shell init scripts, etc). Consider /var/spool and some parts of /usr to need saving but don't simply restore them after upgrading/switching because mostly they should come from the new version (so be prepared for manually moving/linking files or manually configuring printers, users' crontabs, etc.
  • It is good to keep a (paper) record of what you add/change in a system, so you know what needs to be done to a new clean install to bring it up to how you had it (and also to remind yourself of changes made, so you might correlate any odd behaviour to what changed recently).
  • If you use /usr/local/bin (etc) for placing scripts/utilities shared between users remember to back it up or give it its own partition (if you have several computers on a network and wish to keep system administration to a minimum then it is possible to have the exact same / (and so /etc, /usr) read-only mounted off a server, but there will be a few directories like /var, /home, /tmp and/usr/local that need to be read-write and unique for individual computers, and the mental exercise of thinking what cannot be shared between systems helps design a setup that makes switching between linux versions on a single computer easier.

Ideally I would like to see much better linux installation programs that take note of 90% of customisation found in a previous system and make it obvious what still needs to be done manually to harmonize switching over.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.