The software that has been packaged for Debian GNU/Linux is available in one of several directory trees on each Debian mirror site.
The directory dists
contains the "distributions",
and it is now the canonical way to access them.
dists
directory?
Normally there are two distributions, the "stable" distribution and the "unstable" distribution. Sometimes there is also a "frozen" distribution.
They are just "codenames". When a Debian distribution is in
the development stage, it has no version number but a codename. The
purpose of these codenames is to make easier the mirroring of the Debian
distributions (if a real directory like unstable
suddenly changed
its name to stable
, lot of Megabytes would have to be downloaded
again).
Currently, stable is a symlink to hamm (i.e. Debian 2.0) and unstable is a symlink to slink, which means that hamm is the current stable distribution and slink is the current unstable distribution.
When the unstable distribution is mature enough, it becomes frozen, and a
new unstable is created in the dists
directory, having a new
codename. After a month or two of testing, the frozen distribution becomes
stable, it is released, and the previous stable distribution becomes
obsolete.
Other codenames that have been already used are: buzz
for Debian
1.1, rex
for Debian 1.2 and bo
for Debian 1.3.x.
So far they have been characters taken from the movie "Toy Story" by Pixar.
It is a special distribution for architectures which haven't yet been released for the first time.
When sid did not exist, the ftp organization had one major flaw: there was an assumption that when an architecture is created in the current unstable, it will be released when that distribution becomes the new stable. For many architectures that isn't the case, with the result that those directories had to be moved at release time, chewing up lots of bandwidth.
For those architectures not yet released, the first time they are released there will be a link from the current stable to sid, and from then on they will be created inside the unstable tree as normal. sid will never be released nor even accessed directly - only through symlinks in the current stable, frozen, or unstable trees. It will be a mix of released and unreleased architectures.
Sid was the boy next door who destroyed toys :-)
dists
directory?
The dists
directory was created when hamm already existed, so
hamm is inside the dists
directory via symlinks. It will not be
until slink release when all distributions are physically inside the
dists
directory.
non-free
directory.
Unstable contains a snapshot of the current development system. Users are welcome to use and test these packages, but are warned about their state of readiness.
There are also main, contrib and non-free subdirectories in unstable.
dists/stable/main
?
Within each of the major directory trees (dists/stable/main
,
dists/stable/contrib
, dists/stable/non-free
, and
dists/unstable/main/
, etc.
but
not project/experimental/
, which is too small to subdivide),
the binary packages reside in sub-directories whose names indicate the
chip architecture for which they were compiled:
Source code is included for everything in the Debian system. Most of the license terms of programs in the system require that source code be distributed along with the programs, or that an offer to provide the source code accompany the programs.
Normally the source code is distributed in the "source" directories, which are parallel to all the architecture-specific binary directories.
Source code may or may not be available for packages in the "contrib" and "non-free" directories, which are not formally part of the Debian system.
dists
?
There are the following supplementary directories:
Of particular interest to developers:
Packages-Master
file.