Debian always has at least three releases in active maintenance: stable, testing and unstable.
There is a fourth criterion
The current (at time of writing) stable distribution of Debian is 3.0r3, codenamed woody. It was released on October 26th, 2004. Check http://www.debian.org/releases/ to ensure it is still current, and if not, come back and edit the wiki so it is. The current testing distribution is sarge. Eventually, sarge will become stable (a FeatureFreeze will occur), and then sarge will become stable, woody will become an unsupported older distribution, and a new name will be picked for the new testing tree.
On a debian machine, you can find out the version number of the installed distribution by looking in /etc/debian_version.
Previous versions of stable have been named "potato" (debian version 2.2, 2000), "slink" (v 2.1, 1999) "hamm" (v2.0, 1998), "bo" (v1.3, 1997), "rex" (v1.2, 1996), and "buzz" (v1.1, 1996).
The unstable distribution is called sid, and it doesn't get renamed.
The code names come from the movie Toy Story, because ex-Debian project leader BrucePerens used to work for Pixar. (He's now HP's Linux evangelist.- NB. This is no longer true. He has recently been fired by HP for "microsoft-baiting".)
Packages are installed into the `testing' directory after they have undergone some degree of testing in unstable. They must be in sync on all architectures where they have been built and must not have dependencies that make them uninstallable; they also have to have fewer release-critical bugs than the versions currently in testing. This way, they ensure (hope) that testing is always close to being a release candidate.
If you would like to use packages from a different release to what you are currently running (ie. you want to install the latest nasm package from unstable, but you like to run the rest of your machine on stable) follow these steps.
Install packages with:
Some notes on the above.
And this prompts a question unanswered everywhere I have looked: When sarge becomes "stable" how will I prevent my regular and automated executing of "apt-get dist-upgrade" updating all my packages to sarge? How does one configure apt to stay with woody given that default-release "woody" does not work? It seesm the way is this: Do not set default-release. In sources.list do not mention stable or testing but woody and sarge instead. In preferences pin 500 > woody > stable > sarge > testing > 100. Then when packages in sarge becomes marked stable packages in woody, also still stable, presumably will still be preferred. Does that work?
7 pages link to FlavoursOfDebian: