Wed Dec 24 12:11:12 PST 2003
Quoting Seth David Schoen (firstname.lastname@example.org):
> I, for one, would be glad to hear about this again, because I keep
> getting a bit confused by it. (I wish the Debian installers would
> point at a URL with a detailed explanation, too.)
I note with gratitude Adam Kessel's contribution to this thread. I'm
_not_ a Debian developer, but will try to explain further, anyway. I'm
going to try for a comprehensive rundown, sufficient even for the
completely un-initiated, in hopes of archiving it for reference.
If you look in ftp://ftp.debian.org/debian/dists/ , today, you'll
see contents that include these:
drwxrwsr-x 5 1176 1176 4096 Nov 20 18:57 woody
drwxrwsr-x 5 1176 1176 4096 Dec 23 20:47 sarge
drwxrwsr-x 5 1176 1176 4096 Dec 23 20:47 sid
lrwxrwxrwx 1 1176 1176 5 Mar 25 2003 stable -> woody
lrwxrwxrwx 1 1176 1176 5 Mar 25 2003 testing -> sarge
lrwxrwxrwx 1 1176 1176 3 Mar 25 2003 unstable -> sid
lrwxrwxrwx 1 1176 1176 23 Nov 15 21:11 experimental -> ../project/experimental
lrwxrwxrwx 1 1176 1176 5 Nov 20 21:10 Debian3.0r2 -> woody
Debian has produced seven major "releases" of its software, and is
working on an eighth. "Release" is a term of art, here -- which point
I'll return to, below.
Infomagic (a now-defunct mail-order CD house) screwed up the release of
Debian 1.0, shipping CDs of broken development code, so there never was
a 1.0 release. The other eight are:
buzz (release 1.1)
sarge (release number not yet assigned)
For purposes of this explanation, I'll call those "branches", in
contrast to "tracks", a term I'll explain later.
When a branch gets started, it's assigned a name taken (thus far) from
the movie "Toy Story" (in part because early Debian Project Leader Bruce
Perens worked at Pixar Studios). As the branch nears release, it's also
assigned a major version number, such as 3.0 for woody. The software
contents of each branch at any given time is defined by what are in its
part of the Debian package archives on the Net (e.g., within
ftp.debian.org). At intervals decided by the Release Manager, a
snapshot gets taken (and ISO9660 images made) for the convenience of CD
vendors and similar, and assigned a minor version number, such as the
Debian 3.0r2 shown above. You can thus ask a CD vendor "Is this
Official Debian 3.0r2 you're selling, or are you doing some dodgy
unofficial images of your own, the way Infomagic did back in 1995 with
its so-called Debian 1.0?" ;->
What I'm calling "tracks" are implemented via those symbolic links
("stable", "testing", "unstable", and "experimental"), and indicate how
far you wish to remain from the bleeding edge, as you apply updates
retrieved from the Debian package repositories. Debian allows you to
keep following the track you're on, as the symlink is progressively
moved from one named branch to the other. Which is what will happen by
That is, someone who installed the Debian stable branch in 1998 would
have initially gotten hamm/2.0, then more-or-less automatically
progressed through slink/2.1, potato/2.2, and (currently) woody/3.0 as
each in turn gained the "stable" symlink. The day a named branch
becomes the stable track (literally through a change of those symlinks),
we speak of it being "released".
Roles of the tracks:
Stable: This track is intended to consist of highly reliable software,
only. There are very few updates (other than the mass-replacement that
occurs when a branch gets released); most are backports of security and
essential bug-fixes. Remaining on stable is kept deliberately
unexciting, by virtue of being very conservative -- significantly more
so than almost all other Linux distributions.
It should be noted that "stable" is the only track with comprehensive
hands-off security updating, courtesy of the Debian Security Team. On
the others, the local admin must manually oversee security to some
Unstable: This track gives immediate access to all newly uploaded
packages from Debian developers without delay -- or significant quality
checking. Accordingly, some of its offered packages may on occasion be
exciting in the worst senses of the word.
Testing: This track gives almost immediate access to packages in
unstable, with the addition of automated package quarantining and
quality checking, sufficient to catch most breakage. The Release
Manager also sometimes intervenes manually to force or prevent inclusion
of some packages, e.g., because otherwise dependencies would break
because only some packages of a dependency group have cleared
Experimental: This is a ghetto for software whose breakage might do
great damage to systems -- beyond the small-to-medium calamaties that
occasionally happen in unstable. If you're here, you were forewarned.
This thread started because a poster asked whether he "should wait to
switch from woody to sarge". Normally, such questions would never
arise, because, when you install the (e.g.) current stable branch, its
default maintenance/upgrade settings in /etc/apt/sources.list say, in
effect "keep following the stable track". Thus, the local admin never
needs to decide to switch branches; it's done for him automatically,
following each release day. Like the theoretically fellow who installed
hamm/2.0 in 1998, he's currently on woody/3.0 in late 2003, and will
progress to sarge and beyond without really thinking about it.
You'll note this means that "releases" really don't amount to a hill of
beans, once you have a Debian installation running. You might not ever
notice them. You _certainly_ don't have to reinstall. People coming
from other distributions tend to be slow to realise this; it's a
different way of thinking.
In normal circumstances, one would not specify a branch name in
/etc/apt/sources.list, but rather a track name. E.g., it would say
"stable" or "testing", not "woody" or "sarge". To do otherwise is to
say "Please keep me on (e.g.) the woody versions of all packages, even
after the branch gets mothballed." That would be rather perverse.
By contrast, one might naturally contemplate whether to switch from the
stable to the testing track, or vice-versa. That's the reason I
asked the poster to clarify his objectives. "Stable" tends to remain
about the same boringly trailing-edge, absolutely reliable system all
the time. "Testing" is one judicious step back from the bleeding edge,
and gives you early access to goodies. My systems tend to run either
testing or be mixed testing/unstable systems. Testing is about as
bleeding-edge as your average just-released distribution from the other
major distributors. Unstable is about as bleeding-edge as Mandrake
FYI: By contrast, turning a Debian-stable box into a mixture of stable
and testing packages is a frequent bonehead error, and Not Recommended --
because the resulting system is neither fish nor fowl. Instead, one can
draw backports of recent software to the stable branch (recompiled to
use its libraries and utilities) from unofficial repositories, if one
is too timid to just take the obvious step of switching to testing.
Stay on stable until you find yourself (1) whining softly (or otherwise)
about its ancient architecture and lack of excitement, and (2) familiar
with Debian's design and willing to solve occasional apt-get and dpkg
glitches that arise on the testing branch. At that point, jump tracks.
And, if you want to really to help the project QA the software, join the
developers on unstable, and file bug reports to the Debian BTS,
http://bugs.debian.org/ aka http://www.debian.org/Bugs/.
As Adam says, many people prefer unstable over testing because of fewer
dependency snarls. Whether you encounter those snarls depends in part
on how much you like certain notorious dependency hairballs (**cough**
GNOME **cough** KDE **cough**). It's a tradeoff, involving the benefits
and drawbacks of package quarantining.
 See: "Gradual Upgrade" on http://linuxmafia.com/kb/Debian
 See: "Testing Security" on http://linuxmafia.com/kb/Debian
 See: "Downgrading" on http://linuxmafia.com/kb/Debian
 See: "Unofficial Apt Repositories" on http://linuxmafia.com/kb/Debian .
Cheers, "A raccoon tangled with a 23,000 volt line, today. The results
Rick Moen blacked out 1400 homes and, of course, one raccoon."
email@example.com -- Steel City News
More information about the linux-elitists