Take the 2-minute tour ×

I know that keeping /home in different partitions will preserve my data.

But what about the user-specific configuration files? Are always forward-compatible? Are there other issues as well?

share|improve this question

5 Answers 5

up vote 3 down vote accepted

I'd like to add a me-too to Mike Arthur's answer. I've used a Linux desktop since 1997 and have migrated my home directory along the way. Most apps just work.

The only problems I've had was when I switched distributions. Upgrading from RedHat to newer RedHat or RedHat to Fedora or Fedora to newer Fedora is usually really easy. But when I switched from RedHat to Mandrake (now Mandriva) and Mandrake to Fedora it was not a pretty sight. Mandrake and Fedora both used a customized KDE directory structure that was incompatible with each other. As a consequence at that time I deleted most of my .kde directory to recreate the settings. But since then I've not really had problems.

In any case, you can always just erase whatever's in your home directory that you don't want after a system update. I find it extremely convenient that my data is separate from my programs. Even if you have to blow away your whole home directory every two years, as a Fedora user that would save me about 2-3 backup-restore cycles (Fedora updates every 6 months).

You can also set up a directory for use with programs. I typically have /usr/local as a separate partition. I install anything I compile from scratch there. This doesn't work as flawlessly as in the data case because many times the distros are not binary compatible with each other. But at least your programs are all there and you can assess them as needed.

share|improve this answer

For config files:

Some GNU/Linux distributions have a system in place that will show you diff's as it updates the configuration files. (eg: gentoo has etc-update which will show you a diff and ask you to keep the old config, use the new one, or interactively merge the two.)

If you don't have such luxery with the distro you are using, make backups of /etc and the relevant config files, and diff/merge them manually. Always read the docs and manpages of whatever you're editing the config files for.

share|improve this answer

Mike Arthur makes a good point that you can generally upgrade a system and let the files in /home directories take care of themselves (or rather, let their applications take care of them). But I personally like to wipe things and start clean every once in a while, since over time a lot of junk can accumulate in personal configuration files. In practice: I typically get a new computer every 3 years, and instead of copying over /home/* in its entirety, I handpick certain bits and pieces of the config files and my data to copy over, so that I'm mostly starting fresh with a new environment. It's like a fabric softener for the computer ;-) (might have some slight performance benefits too)

share|improve this answer

I've been using Linux on desktop and server for about 5 years and had the same home directory for pretty much that whole time and had pretty much flawless upgrades of the dotfiles in my home directory.

share|improve this answer
OK, you have a nice point about this. But how about migrating the filesystem, for example ext3->ext4? Is it better to keep the old filesystem or wipe everything? –  michelemarcon May 11 '09 at 6:28
ext4 will work better if you create a new filesystem for it rather than upgrading ext3. I think it's much to your personal preferences. –  Mike McQuaid May 11 '09 at 17:42

It's mostly up to the individual apps to upgrade their per-user config files. Upgrading a server is mostly dependent upon the distro you're using, and can range from having to pick out individual apps to rebuild and reinstall (a al Slackware) to simply telling the package manager to upgrade everything to the latest rev (a la Ubuntu, debian, and redhat variants)

share|improve this answer

Your Answer


