Translation(s): English - español - Français - Italiano - Português (Brasil)

Changing From One Release Version To Another

Understand that the job of Debian is, and always has been, to produce Stable. The other releases are means to that end. You may find the other releases perfectly usable for whatever use you have for them. Great. That wouldn't be much of a surprise to any longtime Debian user. Many users, including (of course) Debian Developers use them routinely.

Understand, however, that Experimental is experimental; things are expected to break from time to time. Testing is just what it says it is; it's for testing whether it works reliably prior to its release as a future Stable. You may well find Testing or Unstable reliable enough, and in fact others have remarked that Debian Unstable is more reliable than some other distributions' Stable releases.

Corollaries to this in the commercial world are Development, Testing, and Production. In theory, businesses don't let anyone anywhere near their Production servers until they've proven their latest release isn't going to break anything which currently works, and whose new features or functionality have been documented to the business's satisfaction. This is what Debian's Stable name means: that, once released, the operating system remains relatively unchanging over time.

YMMV. Caveat emptor. As the saying goes, "If it breaks, you get to keep both pieces." ;-)

Moving Forward (eg., Stable --> Testing)

Upgrades between stable versions are generally quite safe. Testing is done frequently to ensure that the upgrades are successful. However, it is impossible to test every possible combination of packages. Furthermore, Debian supports a vast array of hardware and software configurations, and system administrators are encouraged to customize their installation. Thus, caution is advised when conducting an upgrade.

Backing up data is always advisable, but creating an external copy of important files before a risky operation is still the most effective way to ensure that nothing goes wrong. For larger deployments of Debian, it is highly advisable to test out the upgrade on a single installation first.

Before starting the upgrade, the stability-concerned should execute the following command:

 dpkg --get-selections > packages.dpkg

Save the output file (packages.dpkg) to a USB stick (or remote location) for future use. This file is a list of your installed packages, which will make your task simpler if you find you need to reinstall Debian. Even without a full backup of your data, saving this file is still important: a failing upgrade is much more likely to corrupt it's own knowledge of installed packages than it is to corrupt any user data.

What to save

To ensure that all useful data is kept, the entire drive should be backed up, allowing a complete return to the pre-upgrade state. However, not all folders in the root of the filesystem are needed. The /usr, /bin, /sbin, and /lib folders are all managed by dpkg (with the exception of /usr/local/), and therefore do not need to be backed up. The /var/ folder contains a variety of system-wide information: it can be omitted from a backup that is primarily concerned with personal data, especially the tmp/, cache/, and log/ subfolders. Backing up /etc/ is advisable for those who have customized their system to any significant degree. Of course, backing up the contents of /home/ is key: that is where all user data is stored.

The process of conducting the actual upgrade itself is documented in DebianUpgrade.

Moving Backward (eg. "Downgrading", Testing --> Stable)

Short answer: No, it isn't supported

For more information see: SystemDowngrade

See also: DebianStable - DebianTesting - DebianUnstable - DebianExperimental