Penguin
Note: You are viewing an old revision of this page. View the current version.

Debian always has at least three releases in active maintenance: stable, testing and unstable.

stable
The stable distribution contains the latest officially released distribution of Debian. This is the production release of Debian, the one which we primarily recommend using. It is the release that all the commercial vendors support. It's the one that security patches are most easily available for. It's the one that you run on servers you don't want to die. (See below about why stable is so stable.)
testing
The testing distribution contains packages that haven't been accepted into a stable release yet, but they are in the queue for it. The main advantage of using this distribution is that it has more recent versions of software, and the main disadvantage is that it's not completely tested and has no official support from Debian security team.
unstable
The unstable distribution is where active development of Debian occurs. Generally, this distribution is run by developers and those who like to live on the edge. It's where you have to go if you want things as soon as they come out - packages don't move to testing as quickly as you might like them to.

There are other criterion

experimental
So unstable that unstable doesn't even want them. You have to get these packages from other apt repositories. They are labelled experimental so you don't install them unless you really really want to, and tell apt that with apt-get -t experimental package.
volatile
a "backports-esque" repository that updates packages that are made useless by their outdatedness, for example virus defintions and GAIM?, which breaks when protocols change. Designed to be able to used as safely as security.

The current (at time of writing) stable distribution of Debian is 3.1, codenamed sarge. It was released on June 6th, 2005. 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 etch. Eventually, etch will become stable (a FeatureFreeze will occur), sarge will become an unsupported older distribution, and the testing tree will be reborn with a new name.

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 "woody", (debian version 3.0, 2002), "potato" (v2.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 went on to become HP's Linux evangelist, but was allegedly 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.

Using Packages from different releases

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.

  1. Add APT::Default-Release "stable"; to apt.conf(5)
  2. Make sure you have sources for unstable/testing specified in sources.list(5)
  3. Install packages with:

    • apt-get install [packagename]=[packageversion]
    • apt-get install -t unstable [packagename]

Some notes on the above.

  • When specifying your default release it appears that you can only use "Stable"/"Testing"/"Unstable" don't try and use Sarge/Etch etc it won't work
  • You can find out package versions at packages.debian.org - try also apt-cache policy

And this prompts a question unanswered everywhere I have looked: When etch becomes "stable" how will I prevent my regular and automated executing of "apt-get dist-upgrade" updating all my packages to etch? How does one configure apt to stay with sarge given that default-release "sarge" does not work? It seems the way is this: Do not set default-release. In sources.list do not mention stable or testing but sarge and etch instead. In preferences pin 500 > sarge > stable > etch > testing > 100. Then when packages in etch becomes marked stable packages in sarge, also still stable, presumably will still be preferred. Does that work?


CategoryDebian