.\" Title: apt_preferences
.\" Author: APT team
.\" Generator: DocBook XSL Stylesheets v1.71.0
.\" Date: 29 Février 2004
.\" Manual:
.\" Source: Linux
.\"
.TH "APT_PREFERENCES" "5" "29 Février 2004" "Linux" ""
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.SH "NOM"
apt_preferences \- Un fichier de contrôle des préférences pour APT
.SH "DESCRIPTION"
.PP
Le fichier d'APT,
\fI/etc/apt/preferences\fR, peut être utilisé pour choisir la version des paquets que l'on veut installer.
.PP
Quand le fichier
\fBsources.list\fR(5)contient des références à plusieurs distributions (par exemple,
stable
et
testing), plusieurs versions d'un paquet peuvent être installées. APT affecte une priorité à chaque version disponible. La commande
\fBapt\-get\fR, tenant compte des contraintes de dépendance, installe la version qui possède la priorité la plus haute. Le fichier des préférences annule les priorités assignées par défaut aux versions des paquets\ : ainsi l'utilisateur peut choisir la version qu'il veut installer.
.PP
Si le fichier
\fBsources.list\fR(5)contient, pour une même distribution, des références à plusieurs sites de téléchargement, il peut exister plusieurs exemplaires de la même version d'un paquet. Dans ce cas,
\fBapt\-get\fR
télécharge l'exemplaire qui apparaît en premier dans le fichier
\fBsources.list\fR(5). Le fichier des préférences n'influe pas sur le choix des exemplaires, seulement sur le choix de la version.
.SS "Les priorités affectées par défaut"
.PP
Quand le fichier des préférences n'existe pas, ou quand aucune entrée de ce fichier ne s'applique à une version précise, la priorité affectée à cette version est la priorité de la distribution à laquelle elle appartient. On peut distinguer une distribution et lui donner une priorité plus haute que celle des autres distributions\ : on l'appelle la distribution par défaut ou \(Fo\ target release\ \(Fc et elle peut être définie sur la ligne de commande de
\fBapt\-get\fR
ou dans le fichier de configuration d'APT,
\fI/etc/apt/apt.conf\fR. Par exemple\ :
.sp
.RS 3n
.nf
\fBapt\-get install \-t testing \fR\fB\fIpaquet\fR\fR
.fi
.RE
.sp
.sp
.RS 3n
.nf
APT::Default\-Release "stable";
.fi
.RE
.sp
.PP
Quand une distribution par défaut a été indiquée, APT utilise l'algorithme suivant pour déterminer la priorité des versions d'un paquet\ :
.PP
une priorité égale à 100
.RS 3n
est affectée à la version déjà installée (si elle existe).
.RE
.PP
une priorité égale à 500
.RS 3n
est affectée aux versions qui ne sont pas installées et qui n'appartiennent pas à la distribution par défaut.
.RE
.PP
une priorité égale à 990
.RS 3n
est affectée aux versions qui ne sont pas installées et qui appartiennent à la distribution par défaut.
.RE
.PP
Quand aucune distribution par défaut n'a été indiquée, APT affecte simplement une priorité égale à 100 à toute version installée d'un paquet et une priorité égale à 500 à tout version non installée.
.PP
Puis APT applique les règles suivantes pour déterminer la version du paquet qu'il faut installer (elles sont listées par ordre de priorité)\ :
.TP 3n
\(bu
Ne jamais revenir en arrière, sauf si la priorité d'une version disponible dépasse 1000. \(Fo\ Revenir en arrière\ \(Fc signifie installer une version moins récente que la version installée. Il faut noter qu'aucune des priorités par défaut n'excède 1000\ ; de telles valeurs ne peuvent être définies que dans le fichier des préférences. Notez aussi qu'il est risqué de revenir en arrière.
.TP 3n
\(bu
Installer la version qui possède la priorité la plus haute.
.TP 3n
\(bu
Quand deux (ou plus) versions ont la même priorité, installer la version la plus récente (c.\-à\-d. celle dont le numéro de version est le plus grand).
.TP 3n
\(bu
Quand deux (ou plus) versions ont la même priorité et le même numéro de version, mais soit les paquets diffèrent par certaines métadonnées, soit l'option
\-\-reinstall
a été donnée, installer la version qui n'est pas installée.
.sp
.RE
.PP
En général, la version installée d'un paquet (priorité 100) n'est pas aussi récente que les versions disponibles dans les sources listées dans le fichier
\fBsources.list\fR(5)(priorité 500 ou 990). Et donc le paquet sera mis à niveau avec la commande\ :
\fBapt\-get install \fR\fB\fIpaquet\fR\fR
ou
\fBapt\-get dist\-upgrade\fR.
.PP
La version installée d'un paquet peut être \- rarement \-
\fIplus\fR
récente que tout autre version disponible. Les commandes
\fBapt\-get install \fR\fB\fIpaquet\fR\fR
ou
\fBapt\-get upgrade\fR
ne provoquent pas de retour en arrière.
.PP
Parfois, la version installée d'un paquet est plus récente que la version appartenant à la distribution par défaut, mais moins récente que la version appartenant à une autre distribution. Une telle version sera mise à niveau par les commandes
\fBapt\-get install \fR\fB\fIpaquet\fR\fR
ou
\fBapt\-get upgrade\fR
car au moins
\fIl'une\fR
des versions disponibles possède une plus haute priorité que celle de la version installée.
.SS "Conséquences des préférences"
.PP
Le fichier des préférences permet à l'administrateur système de contrôler l'affectation des priorités. Ce fichier est constitué d'une ou plusieurs entrées séparées par des lignes blanches. Ces entrées peuvent avoir deux formes, une forme particulière et une forme générale.
.TP 3n
\(bu
La forme particulière affecte une priorité (\fIPin\-Priority\fR) à un paquet précis, à une version précise ou à un intervalle spécifiant plusieurs versions. Par exemple, l'entrée suivante affecte une priorité haute à toutes les versions du paquet
\fIperl\fR
dont le numéro de version commence par
5.8.
.sp
.RS 3n
.nf
Package: perl
Pin: version 5.8*
Pin\-Priority: 1001
.fi
.RE
.TP 3n
\(bu
La forme générale affecte une priorité à toutes les versions d'un paquet dans une distribution donnée (c'est\-à\-dire, à toutes les versions d'un paquet qui sont listées dans un fichier
\fIRelease\fR), ou à toutes les versions d'un paquet provenant d'un site internet identifié par un nom complètement qualifié.
.sp
Cette forme générale des entrées du fichier des préférences s'applique seulement aux groupes de paquets. Par exemple, l'entrée suivante affecte une priorité haute à toutes les versions disponibles dans le site local.
.sp
.RS 3n
.nf
Package: *
Pin: origin ""
Pin\-Priority: 999
.fi
.RE
Attention ! le mot\-clé utilisé ici,
origin, ne doit pas être confondu avec l'Origine d'une distribution indiquée dans un fichier
\fIRelease\fR. Ce qui suit l'étiquette \(Fo\ Origin:\ \(Fc dans un fichier
\fIRelease\fR
n'est pas une adresse internet mais le nom d'un auteur ou d'un distributeur, comme Debian ou Ximian.
.sp
L'entrée suivante affecte une priorité basse à toutes les versions d'un paquet appartenant à toute distribution dont le nom d'\(Fo\ Archive\ \(Fc est
unstable.
.sp
.RS 3n
.nf
Package: *
Pin: release a=unstable
Pin\-Priority: 50
.fi
.RE
L'entrée suivante affecte une priorité haute à toutes les versions d'un paquet appartenant à toute distribution dont le nom d'\(Fo\ Archive\ \(Fc est
stable
et dont le numéro de \(Fo\ Version\ \(Fc est
3.0.
.sp
.RS 3n
.nf
Package: *
Pin: release a=stable, v=3.0
Pin\-Priority: 500
.fi
.RE
.sp
.RE
.SS "Comment APT interprète\-t\-il les priorités\ ?"
.PP
Les priorités (P) indiquées dans le fichier des préférences doivent être des entiers positifs ou négatifs. Ils sont interprétés à peu près comme suit\ :
.PP
P > 1000
.RS 3n
Cette priorité entraîne l'installation du paquet même s'il s'agit d'un retour en arrière.
.RE
.PP
990 < P <=1000
.RS 3n
La version sera installée, même si elle n'appartient pas à la distribution par défaut\ ; mais elle ne sera pas installée si la version installée est plus récente.
.RE
.PP
500 < P <=990
.RS 3n
La version sera installée, sauf s'il existe une version appartenant à la distribution par défaut ou si la version installée est plus récente.
.RE
.PP
100 < P <=500
.RS 3n
La version sera installée, sauf s'il existe une version appartenant à une autre distribution ou si la version installée est plus récente.
.RE
.PP
0 < P <=100
.RS 3n
La version sera installée si aucune version du paquet n'est installée.
.RE
.PP
P < 0
.RS 3n
Cette priorité empêche l'installation de la version.
.RE
.PP
Si l'une des entrées de forme particulière correspond à la version disponible d'un paquet, la première entrée trouvée détermine la priorité de cette version. S'il n'en existe pas, et si l'une des entrées de forme générale correspond à la version disponible d'un paquet, la première entrée trouvée détermine la priorité.
.PP
Supposons par exemple que le fichier des préférences contienne les trois entrées décrites ci\-dessous\ :
.sp
.RS 3n
.nf
Package: perl
Pin: version 5.8*
Pin\-Priority: 1001
Package: *
Pin: origin ""
Pin\-Priority: 999
Package: *
Pin: release unstable
Pin\-Priority: 50
.fi
.RE
.PP
Alors\ :
.TP 3n
\(bu
La version la plus récente du paquet
perl
sera installé pour autant que son numéro de version commence par
5.8. Si l'\fIune\fR
des versions 5.8* existe et si la version installée est une version 5.9*, il y aura un retour en arrière.
.TP 3n
\(bu
Les versions des paquets (autres que
perl) disponibles dans le site local ont priorité sur les autres versions, même celles appartenant à la distribution par défaut.
.TP 3n
\(bu
La version d'un paquet dont l'origine n'est pas le site local mais un site internet listé dans
\fBsources.list\fR(5)et qui appartient à une distribution
unstable, ne sera installée que si aucune version du paquet n'est déjà installée.
.sp
.RE
.SS "Détermination de la version des paquets et des propriétés des distributions"
.PP
Chaque source listée dans le fichier
\fBsources.list\fR(5)doit fournir les fichiers
\fIPackages\fR
et
\fIRelease\fR
qui décrivent les paquets disponibles à cet endroit.
.PP
Le fichier
\fIPackages\fR
se trouve normalement dans le répertoire
\fI.../dists/\fR\fI\fIdist\-name\fR\fR\fI/\fR\fI\fIcomponent\fR\fR\fI/\fR\fI\fIarch\fR\fR, par exemple,
\fI.../dists/stable/main/binary\-i386/Packages\fR. Il consiste en entrées composées de lignes, une pour chaque paquet disponible dans le répertoire. Seules deux lignes des entrées sont pertinentes pour la détermination des priorités\ :
.PP
La ligne Package:
.RS 3n
donne le nom du paquet
.RE
.PP
La ligne Version:
.RS 3n
donne le numéro de version du paquet
.RE
.PP
Le fichier
\fIRelease\fR
se trouve normalement dans le répertoire
\fI.../dists/\fR\fI\fIdist\-name\fR\fR, par exemple,
\fI.../dists/stable/Release\fR, ou
\fI.../dists/woody/Release\fR. Il consiste en une seule entrée composée de plusieurs lignes qui s'applique à
\fItous\fR
les paquets situés dans les répertoires sous le répertoire parent. Contrairement au fichier
\fIPackages\fR, presque toutes les lignes du fichier
\fIRelease\fR
sont pertinentes pour déterminer les priorités\ :
.PP
La ligne Archive:
.RS 3n
nomme l'archive à laquelle appartiennent tous les paquets situés dans les répertoires. Par exemple, la ligne
Archive: stable
indique que tous les paquets dans les répertoires situés sous le répertoire parent du fichier
\fIRelease\fR
appartiennent à l'archive
stable. Indiquer cette valeur dans le fichier des préférences demanderait cette ligne\ :
.sp
.RS 3n
.nf
Pin: release a=stable
.fi
.RE
.RE
.PP
La ligne Version:
.RS 3n
indique la version de la distribution. Par exemple, les paquets dans les répertoires peuvent appartenir à la distribution Debian GNU/Linux version 3.0. Il n'y a pas de numéro de version pour les distributions
testing
et
unstable
car elles n'ont pas encore été publiées. Indiquer cette valeur dans le fichier des préférences demanderait ces lignes\ :
.sp
.RS 3n
.nf
Pin: release v=3.0
Pin: release a=stable, v=3.0
Pin: release 3.0
.fi
.RE
.RE
.PP
La ligne Component:
.RS 3n
nomme un composant qui indique le type de licence associée aux paquets situés dans les répertoires sous le fichier
\fIRelease\fR. Par exemple, la ligne
Component: main
indique que tous les exemplaires dans les répertoires appartiennent au composant
main, c'est\-à\-dire que leur licence est en accord avec les Directives Debian pour le logiciel libre. Indiquer ce composant dans le fichier des préférences demanderait cette ligne\ :
.sp
.RS 3n
.nf
Pin: release c=main
.fi
.RE
.RE
.PP
La ligne Origin:
.RS 3n
nomme l'origine des paquets situés dans les répertoires sous le fichier
\fIRelease\fR. En général, c'est
Debian. Indiquer cette origine dans le fichier des préférences demanderait cette ligne\ :
.sp
.RS 3n
.nf
Pin: release o=Debian
.fi
.RE
.RE
.PP
La ligne Label:
.RS 3n
indique un label pour les paquets qui se trouvent dans les répertoires sous le fichier
\fIRelease\fR. En général, c'est
Debian. Indiquer cette origine dans le fichier des préférences demanderait cette ligne\ :
.sp
.RS 3n
.nf
Pin: release l=Debian
.fi
.RE
.RE
.PP
Tous les fichiers
\fIPackages\fR
et
\fIRelease\fR
récupérés dans des sources listées par le fichier
\fBsources.list\fR(5)sont conservés dans le répertoire
\fI/var/lib/apt/lists\fR
ou dans le fichier spécifié par la variable
Dir::State::Lists
dans le fichier
\fIapt.conf\fR. Par exemple, le fichier
\fIdebian.lcs.mit.edu_debian_dists_unstable_contrib_binary\-i386_Release\fR
contient le fichier
\fIRelease\fR
du site
debian.lcs.mit.edu, architecture
binary\-i386
et composant
contrib
de la distribution
unstable.
.SS "Lignes facultatives dans le fichier des préférences"
.PP
Toute entrée du fichier des préférences peut commencer par une ou plusieurs lignes contenant le mot
Explanation:. Cela permet des commentaires.
.PP
La ligne
Pin\-Priority:
d'une entrée est facultative. Si elle n'existe pas, APT affecte une priorité inférieure de 1 à la valeur spécifiée sur une ligne commençant par
Pin\-Priority: release ....
.SH "EXEMPLES"
.SS "Comment suivre Stable\ ?"
.PP
Le fichier des préférences suivant affecte une priorité plus haute que la priorité par défaut (500) à tous les exemplaires appartenant à la distribution
stable
et une priorité prohibitivement basse à tous les exemplaires appartenant à d'autres distributions
Debian.
.sp
.RS 3n
.nf
Explanation: Ne pas installer des exemplaires d'origine Debian
Explanation: sauf ceux de la distribution stable
Package: *
Pin: release a=stable
Pin\-Priority: 900
Package: *
Pin: release o=Debian
Pin\-Priority: \-10
.fi
.RE
.sp
.PP
Avec le fichier des préférences ci\-dessus et un fichier
\fBsources.list\fR(5)adéquat, les commandes suivantes utiliseront les versions les plus récentes de
stable
pour faire la mise à niveau\ :
.sp
.RS 3n
.nf
apt\-get install \fIpaquet\fR
apt\-get upgrade
apt\-get dist\-upgrade
.fi
.RE
.sp
.PP
La commande suivante utilisera la version la plus récente de la distribution
testing
pour mettre à niveau le paquet spécifié\ ; cependant les mises à niveau ultérieures du paquet ne se feront pas à moins de relancer la commande.
.sp
.RS 3n
.nf
apt\-get install \fIpaquet\fR/testing
.fi
.RE
.sp
.SS "Comment suivre Testing ou Unstable\ ?"
.PP
Le fichier des préférences suivant affecte une priorité haute aux versions des paquets appartenant à la distribution
testing, une priorité moindre aux versions appartenant à la distribution
unstable
et une priorité prohibitivement basse aux versions appartenant à d'autres distributions
Debian.
.sp
.RS 3n
.nf
Package: *
Pin: release a=testing
Pin\-Priority: 900
Package: *
Pin: release a=unstable
Pin\-Priority: 800
Package: *
Pin: release o=Debian
Pin\-Priority: \-10
.fi
.RE
.sp
.PP
Avec un fichier
\fBsources.list\fR(5)approprié et le fichier des préférences ci\-dessus, les commandes suivantes utiliseront les versions les plus récentes de
testing
pour faire la mise à niveau\ :
.sp
.RS 3n
.nf
apt\-get install \fIpaquet\fR
apt\-get upgrade
apt\-get dist\-upgrade
.fi
.RE
.sp
.PP
La commande suivante utilisera la version la plus récente de la distribution
unstable
pour mettre à niveau le paquet spécifié\ ; Par la suite,
\fBapt\-get upgrade\fR
mettra le paquet à jour avec la plus récente version dans
testing
si elle est plus récente que la version installée ou avec la plus récente version dans
unstable
si elle est plus récente que la version installée.
.sp
.RS 3n
.nf
apt\-get install \fIpaquet\fR/unstable
.fi
.RE
.sp
.SH "SEE ALSO"
.PP
\fBapt\-get\fR(8)
\fBapt\-cache\fR(8)
\fBapt.conf\fR(5)
\fBsources.list\fR(5)
.SH "BOGUES"
.PP
Voyez la
[1]\&\fI page concernant les bogues d'APT\fR. Si vous voulez signaler un bogue, consultez le texte
\fI/usr/share/doc/debian/bug\-reporting.txt\fR
ou utilisez la commande
\fBreportbug\fR(1).
.SH "TRADUCTION"
.PP
Philippe Batailler.
. 2005.
.SH "AUTEUR"
.PP
\fBAPT team\fR
.sp -1n
.IP "" 3n
Auteur.
.SH "REFERENCES"
.TP 3
1.\ page concernant les bogues d'APT
\%http://bugs.debian.org/src:apt