Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm pretty new at debian, so bare with me. Some of the packages are pretty old in debian stable. For example, the version of iceweasel (firefox) included is 3.5.

But I don't want the version of firefox debian says is stable, I want the version Mozila says is stable. So I went out and got the most recent package from mozilla. But I realized, I would like this for all applications. That is, I want the version that the application developer deems stable.

So my first question is: is what I'm describing debian testing, sid, or something else? Second, since this isn't the default behavior, I imagine there is good reason; what is it?

thanks in advance.

share|improve this question
up vote 0 down vote accepted

The words "Stable", "Testing" and "Unstable" are first and foremost pointing at package versions.

Packages enter Unstable once they have been correctly packaged as per Debian standards and tested for major incompatibilities in the "Experimental" branch. "Unstable" does not mean "Will crash", but "the application/library versions are upgraded continuously from upstream in this branch, and thus the versions are not stable".

Testing is the current candidate for the next "Stable" version. Packages propagate from "Unstable" when they have been deemed good enough for a possible inclusion in a future "Stable" release. In "Testing" they are further "tested", and here the application/library versions are also updated until the "freeze" occurs (this happens a few months before declaring this version as the new "Stable" version).

After the "freeze", the aggregate amount of known bugs among all applications/libraries in "Testing" are worked down to 0, and finally the release is declared Stable. This version will now retain the current package version with almost exclusively security updates during the lifetime of the stable distribution. "Why?", you ask: in e.g. a corporate environment where everything must "just work" (tm), this is essential, since no one will pat you on the back for keeping the packages at the latest version if it risks downtime because of newly introduced bugs.

At home you should in practice be able to be completely safe with "Testing". Many (including myself) use "Unstable", not because we like living on the edge and don't care about availability, but because this gets you new package versions and a good opportunity to help iron out bugs and such.

So, if you want to stay within Debian and have the most recent upstream package versions, use "Unstable".

share|improve this answer
This is exactly what I was looking for. Thanks. – maxvgc Apr 27 '12 at 17:23

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.