Chapter 2 - Debian fundamentals
- 2.1 The Debian archives
- 2.1.1 Directory structures
- 2.1.2 Debian distributions
- 2.1.3 The stable distribution
- 2.1.4 The testing distribution
- 2.1.5 The unstable distribution
- 2.1.6 The frozen distribution
- Version 2.1.7 of the Debian
- 2.1.8 Codenames used in the past
- 2.1.9 The source for codenames
- 2.1.10 The pool directory
- 2.1.11 Historical notes about Sid
- 2.1.12 Uploaded packages in incoming /
- 2.1.13 Retrieving an older package
- 2.1.14 Architecture
- 2.1.15 The source code
This chapter provides fundamental information on the Debian system for non-developers. For authoritative information, see:
- Debian Policy Manual
- Developer's Reference Debian
- New Maintainers' Guide Debian package
listed under References, Section 15.1.
If you are looking for less detailed explanation, go directly to the Debian package management, Chapter 6 or other relevant chapters.
This chapter is based on information obtained from the "Debian FAQ", greatly reorganized to allow their first step to Debian system administrators.
2.1 The Debian archives
2.1.1 Directory structures
The software has been packaged for Debian is available in one of several directory trees on each sitio réplica Debian through FTP or HTTP.
In each Debian mirror site under the directory debian you can find the following directories:
-
dists/ - This directory contains the "distributions" and are used to access the packages currently available in the versions and pre-releases of Debian. One can still find here some old packages, the
Contents-*.gzand filesPackages.gz
-
pool/ - The new location of all packages of all versions and previous versions of Debian.
-
tools/ - DOS utilities for creating boot disks, partitioning your disk drive, compressing / decompressing files, and booting Linux.
-
doc/ - The basic Debian documentation, FAQ, instructions to publicize a failure, and so on.
-
indices/ - The Maintainers file and the override files.
-
project/ - mostly developer-only, such as:
-
project/experimental/ - This directory contains packages and tools which are still in development and in the alpha testing stage. Users should not use these packages as they can be dangerous and harmful even for the more experienced.
-
project/orphaned/ - Packages that have been orphaned by their old maintainers, and have been withdrawn from distribution.
-
2.1.2 Debian distributions
Normally there are three Debian distributions in the directory dists the stable distribution (stable), the testing distribution (testing) and the unstable distribution (unstable). Sometimes there is a frozen distribution (see The frozen distribution, Section 2.1.6). Each distribution is defined as a symlink to the actual directory with a code name in the directory dists
2.1.3 The stable distribution
The packages for the stable distribution, Debian Sarge (3.1r0), are recorded into the stable (symlink to sarge
-
stable/main/This directory contains the packages that belong to the latest official version of the system Debian.Todos these packages are free, ie they agree withLas directivas del Software Libre de Debian(DFSG) (also available as/usr/share/doc/debian/social-contract.txtthat is installed bydebian-doc
-
stable/non-free/This directory contains packages that fail to qualify as free according to DFSG.Por example, some packages have licenses that prohibit commercial distribution. Others can be redistributed but are shareware.
-
stable/contrib/This directory contains packages that are free under the DFSG but somehow dependent on another package that is not free.
Currently, besides the above locations, the packages are located physically in the directory pool (The pool directory, Section 2.1.10).
The current status of stable distribution bugs is available on the website Stable Problems
2.1.4 The testing distribution
Packets of the trial version, Debian Etch, are in the directory testing (symlink to etch) after being tested for some time in unstable. Currently, besides the above locations, the packages are located in the directory pool (The pool directory, Section 2.1.10). Likewise, the subdirectories are also main contrib and non-free which serve the same functions as in the branch estable
These packages must be in sync on all architectures for which they were built and must be installed, they must also have fewer critical bugs than the versions currently in unstable. Thus, it is hoped that the testing is a possible candidate for the next version. More details on this mechanism: http://www.debian.org/devel/testing
The final state of the testing distribution can be found at the following sites:
-
update excuses -
testing problems -
release-critical bugs -
base system bugs -
bugs in standard and task packages -
other bugs and bug-squashing party notes
2.1.5 The unstable distribution
The packages for the unstable, always codenamed "Sid", are recorded into the unstable (symlink to sid after they are uploaded to the Debian archive and stay here until they are moved to de prueba date, in addition to the above locations physical packages are located in the directory pool (The pool directory, Section 2.1.10). Likewise, the subdirectories are also main contrib and non-free which serve the same functions as in the branch estable
The unstable distribution contains the most recent image development system. Users are encouraged to use and test these packages, but are warned about their state. The advantage of using the unstable distribution is that you are always updated with the latest in the Debian-but in case it fails to keep both parts ![]()
The current status of unstable distribution bugs is available on the website Problemas de la rama inestable
2.1.6 The frozen distribution
When the testing distribution is mature enough frozen, ie no new code is accepted and-if necessary-just bugfixes. Also in the directory dists create a new testing tree "that is assigned a new name. The frozen distribution passes through a few months of testing, with intermittent updates and deep freezes called "test cycles.
In the frozen distribution keeping track of bugs that can delay a package or complete distribution. Once that bug count lowers to maximum acceptable values, the frozen distribution becomes stable distribution is released and the previous stable distribution becomes obsolete (and filed).
Version 2.1.7 of the Debian
The names of the directories in the directory dists like sarge and etch are just "codenames". When a Debian distribution is in the development stage, has no version number but a codename. The purpose of these codenames is to make the mirroring of the Debian distributions (if a directory like unstable suddenly changed its name to stable although not necessary, it would have to download a bunch of stuff again).
Currently, stable/ is a symbolic link to sid and testing/ is a symbolic link to etch. This means that Sarge is the current stable distribution and Etch is the current testing distribution.
unstable is a permanent symbolic link to sid/ as Sid is always the unstable distribution.
2.1.8 Codenames used in the past
Codenames that have already been used: "Buzz" for release 1.1, "Rex" for release 1.2, "Bo" for releases 1.3.x, "Hamm" for release 2.0, "Slink" for version 2.1 , "Potato" for release 2.2, "Woody" for release 3.0, and "Sarge" for release 3.1.
2.1.9 The source for codenames
So far they have been taken from the movie Toy Story by Pixar.
- Buzz (Buzz Light year) was the spaceman,
- Rex was the tyrannosaurus,
- Bo (Bo Peep) was the girl who took care of the sheep,
- Hamm was the piggy bank,
- Slink (Slinky Dog) was the toy dog,
- Potato was, of course, Mr. Potato Head,
- Woody was the cowboy.
- Sarge was a leader of the army of green plastic
- Etch (Etch-a-Sketch) was the blackboard,
- Sid was the boy next door who destroyed toys.
2.1.10 The pool directory
Historically, packages were kept in the subdirectory dists corresponding to the distribution. This will cause various problems, like for example-a large bandwidth consumption on mirrors when major changes were made.
Currently, packages were kept in a large "pool", structured according to the source package name. For ease of use, the pool is subdivided by section (main, contrib and non-free) and by the first letter of the source package. These directories contain several files: the binary packages for each architecture and the source packages from which they were generated.
You can find out where a package is running the command apt-cache showsrc mypackagename and reading the line that says 'Directory:'. For example, packages of apache are in pool/main/a/apache/ Because there are so many lib * packages, these are treated specially: for example, packets libpaper found in pool/main/libp/libpaper/
Directories dists are still used for the index files used by programs like apt Anyway, as I write this doucment, older distributions have not been modified to use these 'deposits' so you will see paths containing names of distributions such as potato or woody in the header field "Directory".
Normally, you should not worry about any of this, as new apt and probably older dpkg-ftp will handle it seamlessly. For more information, see the RFC: implementación de las herramientas de paquetes
2.1.11 Historical notes about Sid
When the present-day Sid did not exist, the Debian archive site organization had one major drawback: it was assumed that when an architecture was created in the current inestable would be released when that distribution became the new stable. For many architectures that was not the case with the result that those directories had to be moved at release time. This was impractical because the move would chew up lots of bandwidth.
The archive administrators worked around this problem for several years by placing binaries for unreleased architectures in a special directory called sid Released the first time there was a link between the version estable and sid and since they were created inside the branch inestable normally. This layout was somewhat confusing to users.
With the advent of package pools (see The pool directory, Section 2.1.10) in the Woody distribution development, binary packages began to be stored in a location in the pool, regardless of the distribution, so releasing a distribution no longer causes large bandwidth consumption on the mirrors (there is, however, a gradual consumption of bandwidth during the development process).
2.1.12 Uploaded packages in incoming/
The packages are first located in http://incoming.debian.org/ after being checked to ensure that they really come from a Debian developer (and are in the subdirectory DELAYED in the case of a transfer of a person who is not responsible: Non-Maintainer Upload (NMU)). Once a day, are moved out of incoming/ to unstable/
In an emergency, if you want to install packages from incoming/ before going unstable/
2.1.13 Retrieving an older package
While the most recent Debian distributions are in the directory debian each sitio réplica the archives for older Debian distributions such as Slink are kept in http://archive.debian.org/ or directory debian-archive each Debian mirror site.
The old packages from the testing and unstable branch can be located at http://snapshot.debian.net/
2.1.14 Architecture
Within each of the major directory trees dists/stable/main dists/stable/contrib dists/stable/non-free dists/unstable/main etc.). The binary package entries reside in subdirectories whose names indicate the architecture for which they were compiled.
-
binary-all/for packages which are architecture. These include, for example, Perl scripts, or documentation.
-
binary- platform /for packages which execute on a given platform.
Please note that the binary packages for the trial version and version no longer reside in these directories, but in the top level directory pool However, for backwards compatibility issues have been kept, the index files Packages and Packages.gz
For the actual binary architectures supported, see the Release Notes for each distribution. They can be located in the Release Notes sites for stable and testing
2.1.15 The source code
In the Debian system includes the source code for everything. Moreover, the license terms of most programs require system that is distributed along with their source code or provide a way to get it.
Normally the source code is distributed through the directory source which are parallel to all directories containing binaries for a specific architecture or, more recently, in the directory pool (see The pool directory, Section 2.1.10). To get the source without being familiar with the structure of the Debian archive, try to apt-get source packagename.
Some packages, notably pine are only available as source code due to limitations imposed by their license (Recently the package has been pine-tracker to facilitate the installation of Pine). The procedure described in Port a package to the stable, and Creating Section 6.4.10 Packaging, Section 13.10 provide ways to build a package manually.
For packages directory "contrib" and "non-free", which are not formally part of Debian, the source code may or may not be available.
Popularity: 1%





























