Ubuntu – Will everything (downloaded fonts, files, apps etc) remains the same when I upgrade from one release to the next?


I'm planning to upgrade from Maverick to Natty, and to try out Unity, but I don't want to lose any settings, customizations and downloads in Maverick. I just want to know, if upgrading alter anything that I said earlier?

I don't want to start over with a clean, fresh Natty, and I hope I can keep all of my files and folders and settings in Maverick, and to have them in Natty after the upgrade. Is this possible? Should I use Update Manager to achieve this? And would all my compiz-settings be reset after I upgrade?

Sorry for too much questions, but I'm asking this because you know, in Windows, any version upgrade would require the disk to be reformatted. I hope Ubuntu is more convenient than that.

Best Answer

Ubuntu distribution upgrades are designed to be done over existing installations, and the process should go fairly smoothly, thanks to the wonders of package management. Files not associated with a package will be left alone, such as the contents of /home, html files you added to /var/www, applications you've installed from tarballs rather than from repositories or .deb packages, and so forth.

Packages should only be removed if they were originally installed as dependencies of other packages, or if they conflict with newly installed packages. Changing default applications -- the change from Rhythmbox to Banshee as the default music application, for instance -- will lead to the installation of the new default application, but not the removal of the old default. Packages that were in the older distribution's repositories, but not in the newer distribution's repositories, will be left in place -- synaptic will list them under the category "Obsolete or Local".

The trickiest thing to watch out for is changes in configuration files -- if you've changed any configuration files associated with packages, you'll likely be prompted about how to resolve any conflicts during the upgrade.

The way package managers handle configuration files is to make a three-way comparison between the previous default config file, the new default config file, and the existing config file. If all three are identical, obviously, nothing happens. If the old default is identical to the new default, but the existing config file is different, the existing config file is left as is, because the rules apparently haven't changed so your choices are still valid. If the existing config is identical to the old default, but the new default is different, the new default will be installed, as you're apparently happy with the decisions the developers made about the defaults. The problematic case is when all three files are different -- you'll need to look carefully at the differences between your existing config file and the new default.