Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have long been frustrated and unsatisfied with the setup I have at work. 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.

I am not a guru but by no means a complete newbie to the tux world either. I have migrated to a different distro a couple of times before but I find it to be rather tricky business. You take backups of everything, repartition the hdd to make sure the old setup is not destroyed in case the new distro doesn't work, so you can at least boot into the old one etc.

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?

share|improve this question

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 ;)

share|improve this answer

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.

share|improve this answer
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

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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