It is my understanding that on a desktop/laptop for normal, personal use (not servers or for other specialized tasks), one of the primary benefits of having /home on its own partition is keeping the user's files and quite a lot of application configuration files between re-installs (as novice Linux users are wont to do when trying different distributions or simply screwing up badly). Apart from files the user deliberately puts in /home, I have unfortunately not been able to dig up a lot of information on what exactly is stored (or not stored) there. It seems to me that some kinds of configuration files are kept in /etc, but I don't know if these are desirable to keep when reinstalling.

I have two questions. I realize no definite answer can be given, but there might exist some de facto design choices in the Linux development world which could yield somewhat concrete answers not unfit for this site.

  1. Is it reasonable to assume that applications store configuration files (of the kind desirable to keep between re-installs) only in /home?

  2. Is it reasonable to assume that in most cases, applications (re-)installed after a system reinstall will recognize existing configuration files and continue functioning more or less as before?

If the answer to any of the above questions are "no", how can headache be minimized when reinstalling and wishing applications to function as before?

  • 1
    Of course the expectation is reasonable but sloppy programming is more rampant than one might expect. So, do not rely on these assumptions. Also, without knowing what kind of applications are installed on your particular system, as you stated, it is not a good expectation to find any answers to your question unfortunately. Even though your question has a technical merit, I'd put it as more of a philosophical question than technical.
    – MelBurslan
    Jan 22 '16 at 19:16
  • Good practice is for programs to recognize and obey older configuration directives. If programs want to obsolete those directives, then it's also good practice to first issue a warning for a certain number, saying those directives are obsolete before removing them. Of course, not all software obeys such practices. Jan 23 '16 at 1:26

As a rule of thumb, applications you run as a non-root user will put their configuration under /home. System-wide configuration resides under /etc (and to a lesser extent under /var/lib and other locations), but applications not running as root don't have write access to these locations.

As for your 2nd question, it depends. If your new system contains the same version of the applications concerned as the old one, the configuration will almost always be recognized (some details may be wrong if the new system is otherwise very different from the old one; for a trivial example, if the system-wide wallpaper you used in the old system isn't available in the new one). Many applications (especially console applications like mutt, alpine, irssi etc.) will happily work with configuration files written by/for older versions of the same application, and in most cases even when you use an older version of the program than what the configuration is for.

GUI applications tend to be more finicky (it's anyone's guess whether an older version of Chromium will work with the profile directory of a newer version).

In many cases, even the location of the configuration files changes between versions.

And there are cases where newer versions of the "same" thing deliberately ignore the configuration of the older version; for example, KDE5 ignores KDE4 settings.

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.