Differences between revisions 1 and 12 (spanning 11 versions)
Revision 1 as of 2010-07-02 18:07:39
Size: 1244
Editor: HenriLeFoll
Comment: new page
Revision 12 as of 2017-03-30 17:20:39
Size: 4077
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#language en
||<tablestyle="width: 100%;" style="border: 0px hidden">~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: English - [[fr/DebianRepository|Français]] - [[it/DebianRepository|Italiano]] - [[ru/DebianRepository|Русский]] - [[sv/DebianRepository|Svenska]]-~||
----
A Debian repository is a set of Debian packages organized in a special directory tree, together with some infrastructure (checksums, indices, signatures, desciption translations, ...), that allows debian
users to easily update their system or install additional software.

Line 2: Line 9:
== Anatomy of a repository ==
The following description is mostly for people who browse a repository using a standard web browser and wonder what is where and how everything fits together. A more precise and technical description is in [[/Format|Format]].
Line 3: Line 12:
== Introduction == A debian repository contains several '''releases'''. Debian releases are named after characters from the "Toy Story" movies (wheezy, jessie, stretch, ...).
The codenames have aliases, so called '''suites''' (stable, oldstable, testing, unstable) A release is divided in several '''components'''. In debian these are named {{{main}}}, {{{contrib}}}, and {{{non-free}}} and indicate the licensing
terms of the software they contain. A release also has packages for various
'''architectures''' amd64, i386, mips, powerpc, s390x, ...) as well as sources
and architecture independent packages.
Line 5: Line 18:
A Debian [[http://en.wikipedia.org/wiki/Software_repository|repository]] is a directory where you can find software you can install on Debian. The root directory of a repository has a directory {{{dists}}} which in turn has a directory for each release and suite, the latter usually symlinks to the former, but the browser won't show you a difference. Each release
subdirectory contains a cryptographically signed {{{Release}}} file and a directory for each component. Inside these are directories for the different architectures, named {{{binary}}}-''<arch>'' and {{{sources}}}. And in these
are files {{{Packages}}} that are text files containing the meta data of
packages. Hmm, so where are the actual packages?
Line 7: Line 23:
Each Debian [[http://en.wikipedia.org/wiki/Software_distribution|distribution]] has its repository. The packages themselves are below {{{pool}}} in the root directory of the
repository. Below {{{pool}}} there are again directories for all the
components, and in these are directories named {{{0}}}, ..., {{{9}}}, {{{a}}}, {{{b}}}, ... {{{z}}}, {{{liba}}}, ... , {{{libz}}}. And in these are directories named after the software package they contain, and these directories finally contain the actual packages, i.e the {{{.deb}}} files. The name is not necessarily the name of the package itself, the package bsdutils e.g resides in the {{{pool/main/u/util-linux}}} directory, it is the name of the source that the package is generated from. A single upstream source may generate several binary packages, and all of them will end up in the same subdirectory below {{{pool}}}. The additional single letter directories are just a trick to avoid having too many entries in a single directory which is what many systems
traditionally have performance problems with.
Line 9: Line 28:
The Debian repositories can be found on [[http://www.debian.org/mirror/|Debian mirrors]].
Line 17: Line 36:
 * The [[http://www.debian.org/mirror/list|official list of Debian mirrors]]  * The [[https://www.debian.org/mirror/list|official list of Debian mirrors]]
Line 24: Line 43:
Here is the list of the software include in each Debian distribution : Here is the list of the software included in each Debian distribution :
Line 26: Line 45:
 * in the [[http://packages.debian.org/stable/|stable repository]]  * in the [[https://packages.debian.org/stable/|stable repository]]
Line 28: Line 47:
 * in the [[http://packages.debian.org/lenny-backports/|lenny-backports repository]]  * in the [[https://packages.debian.org/stable-backports/|stable-backports repository]]
Line 30: Line 49:
 * in the [[http://packages.debian.org/testing/|testing repository]]  * in the [[https://packages.debian.org/testing/|testing repository]]
Line 32: Line 51:
 * in the [[http://packages.debian.org/sid/|sid repository]]  * in the [[https://packages.debian.org/sid/|sid repository]]
Line 34: Line 53:
 * in the [[http://packages.debian.org/experimental/|experimental repository]]  * in the [[https://packages.debian.org/experimental/|experimental repository]]
Line 38: Line 57:

There you can find a list of [[DebianRepository/HowTo|how-tos]] and [[DebianRepository/Tools|tools]]
 * How to create [[CreateLocalRepositoryIndex|repository index files]]
 * How to set up a [[HowToSetupADebianRepository|debian repository]] with a list of available tools.
 * How to set up a [[DebianRepository/HowTo/TrivialRepository|trivial archive]]
 * A Tutorial on [[RepositoryLocal|Working with Repositories]]

Translation(s): English - Français - Italiano - Русский - Svenska


A Debian repository is a set of Debian packages organized in a special directory tree, together with some infrastructure (checksums, indices, signatures, desciption translations, ...), that allows debian users to easily update their system or install additional software.

Anatomy of a repository

The following description is mostly for people who browse a repository using a standard web browser and wonder what is where and how everything fits together. A more precise and technical description is in Format.

A debian repository contains several releases. Debian releases are named after characters from the "Toy Story" movies (wheezy, jessie, stretch, ...). The codenames have aliases, so called suites (stable, oldstable, testing, unstable) A release is divided in several components. In debian these are named main, contrib, and non-free and indicate the licensing terms of the software they contain. A release also has packages for various architectures amd64, i386, mips, powerpc, s390x, ...) as well as sources and architecture independent packages.

The root directory of a repository has a directory dists which in turn has a directory for each release and suite, the latter usually symlinks to the former, but the browser won't show you a difference. Each release subdirectory contains a cryptographically signed Release file and a directory for each component. Inside these are directories for the different architectures, named binary-<arch> and sources. And in these are files Packages that are text files containing the meta data of packages. Hmm, so where are the actual packages?

The packages themselves are below pool in the root directory of the repository. Below pool there are again directories for all the components, and in these are directories named 0, ..., 9, a, b, ... z, liba, ... , libz. And in these are directories named after the software package they contain, and these directories finally contain the actual packages, i.e the .deb files. The name is not necessarily the name of the package itself, the package bsdutils e.g resides in the pool/main/u/util-linux directory, it is the name of the source that the package is generated from. A single upstream source may generate several binary packages, and all of them will end up in the same subdirectory below pool. The additional single letter directories are just a trick to avoid having too many entries in a single directory which is what many systems traditionally have performance problems with.

Mirrors

A list of mirrors :

Distributions

Here is the list of the software included in each Debian distribution :

Working with repositories