Provided by:
apt_0.7.20.2ubuntu6_i386 
NOM
apt_preferences - Un fichier de contrôle des préférences pour APT
DESCRIPTION
Le fichier d´APT, /etc/apt/preferences, peut être utilisé pour choisir
la version des paquets que l´on veut installer.
Quand le fichier sources.list(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 apt-get, 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.
Si le fichier sources.list(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,
apt-get télécharge l´exemplaire qui apparaît en premier dans le fichier
sources.list(5). Le fichier des préférences n´influe pas sur le choix
des exemplaires, seulement sur le choix de la version.
Les priorités affectées par défaut
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 « target release » et elle peut être
définie sur la ligne de commande de apt-get ou dans le fichier de
configuration d´APT, /etc/apt/apt.conf. Par exemple :
apt-get install -t testing paquet
APT::Default-Release "stable";
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 :
une priorité égale à 100
est affectée à la version déjà installée (si elle existe).
une priorité égale à 500
est affectée aux versions qui ne sont pas installées et qui
n´appartiennent pas à la distribution par défaut.
une priorité égale à 990
est affectée aux versions qui ne sont pas installées et qui
appartiennent à la distribution par défaut.
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.
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é) :
· Ne jamais revenir en arrière, sauf si la priorité d´une version
disponible dépasse 1000. « Revenir en arrière » 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.
· Installer la version qui possède la priorité la plus haute.
· 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).
· 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.
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 sources.list(5)(priorité 500 ou 990). Et donc le paquet
sera mis à niveau avec la commande : apt-get install paquet ou apt-get
dist-upgrade.
La version installée d´un paquet peut être - rarement - plus récente
que tout autre version disponible. Les commandes apt-get install paquet
ou apt-get upgrade ne provoquent pas de retour en arrière.
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 apt-get install paquet ou apt-get
upgrade car au moins l´une des versions disponibles possède une plus
haute priorité que celle de la version installée.
Conséquences des préférences
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.
· La forme particulière affecte une priorité (Pin-Priority) à 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 perl dont le numéro
de version commence par 5.8.
Package: perl
Pin: version 5.8*
Pin-Priority: 1001
· 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 Release), ou
à toutes les versions d´un paquet provenant d´un site internet
identifié par un nom complètement qualifié.
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.
Package: *
Pin: origin ""
Pin-Priority: 999
Attention ! le mot-clé utilisé ici, origin, ne doit pas être
confondu avec l´Origine d´une distribution indiquée dans un fichier
Release. Ce qui suit l´étiquette « Origin: » dans un fichier
Release n´est pas une adresse internet mais le nom d´un auteur ou
d´un distributeur, comme Debian ou Ximian.
L´entrée suivante affecte une priorité basse à toutes les versions
d´un paquet appartenant à toute distribution dont le nom
d´« Archive » est unstable.
Package: *
Pin: release a=unstable
Pin-Priority: 50
L´entrée suivante affecte une priorité haute à toutes les versions
d´un paquet appartenant à toute distribution dont le nom
d´« Archive » est stable et dont le numéro de « Version » est 3.0.
Package: *
Pin: release a=stable, v=3.0
Pin-Priority: 500
Comment APT interprète-t-il les priorités ?
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 :
P > 1000
Cette priorité entraîne l´installation du paquet même s´il s´agit
d´un retour en arrière.
990 < P <=1000
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.
500 < P <=990
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.
100 < P <=500
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.
0 < P <=100
La version sera installée si aucune version du paquet n´est
installée.
P < 0
Cette priorité empêche l´installation de la version.
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é.
Supposons par exemple que le fichier des préférences contienne les
trois entrées décrites ci-dessous :
Package: perl
Pin: version 5.8*
Pin-Priority: 1001
Package: *
Pin: origin ""
Pin-Priority: 999
Package: *
Pin: release unstable
Pin-Priority: 50
Alors :
· 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´une des versions
5.8* existe et si la version installée est une version 5.9*, il y
aura un retour en arrière.
· 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.
· La version d´un paquet dont l´origine n´est pas le site local mais
un site internet listé dans sources.list(5)et qui appartient à une
distribution unstable, ne sera installée que si aucune version du
paquet n´est déjà installée.
Détermination de la version des paquets et des propriétés des distributions
Chaque source listée dans le fichier sources.list(5)doit fournir les
fichiers Packages et Release qui décrivent les paquets disponibles Ã
cet endroit.
Le fichier Packages se trouve normalement dans le répertoire
.../dists/dist-name/component/arch, par exemple,
.../dists/stable/main/binary-i386/Packages. 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 :
La ligne Package:
donne le nom du paquet
La ligne Version:
donne le numéro de version du paquet
Le fichier Release se trouve normalement dans le répertoire
.../dists/dist-name, par exemple, .../dists/stable/Release, ou
.../dists/woody/Release. Il consiste en une seule entrée composée de
plusieurs lignes qui s´applique à tous les paquets situés dans les
répertoires sous le répertoire parent. Contrairement au fichier
Packages, presque toutes les lignes du fichier Release sont pertinentes
pour déterminer les priorités :
La ligne Archive:
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 Release appartiennent à l´archive stable.
Indiquer cette valeur dans le fichier des préférences demanderait
cette ligne :
Pin: release a=stable
La ligne Version:
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 :
Pin: release v=3.0
Pin: release a=stable, v=3.0
Pin: release 3.0
La ligne Component:
nomme un composant qui indique le type de licence associée aux
paquets situés dans les répertoires sous le fichier Release. 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 :
Pin: release c=main
La ligne Origin:
nomme l´origine des paquets situés dans les répertoires sous le
fichier Release. En général, c´est Debian. Indiquer cette origine
dans le fichier des préférences demanderait cette ligne :
Pin: release o=Debian
La ligne Label:
indique un label pour les paquets qui se trouvent dans les
répertoires sous le fichier Release. En général, c´est Debian.
Indiquer cette origine dans le fichier des préférences demanderait
cette ligne :
Pin: release l=Debian
Tous les fichiers Packages et Release récupérés dans des sources
listées par le fichier sources.list(5)sont conservés dans le répertoire
/var/lib/apt/lists ou dans le fichier spécifié par la variable
Dir::State::Lists dans le fichier apt.conf. Par exemple, le fichier
debian.lcs.mit.edu_debian_dists_unstable_contrib_binary-i386_Release
contient le fichier Release du site debian.lcs.mit.edu, architecture
binary-i386 et composant contrib de la distribution unstable.
Lignes facultatives dans le fichier des préférences
Toute entrée du fichier des préférences peut commencer par une ou
plusieurs lignes contenant le mot Explanation:. Cela permet des
commentaires.
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 ....
EXEMPLES
Comment suivre Stable ?
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.
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
Avec le fichier des préférences ci-dessus et un fichier
sources.list(5)adéquat, les commandes suivantes utiliseront les
versions les plus récentes de stable pour faire la mise à niveau :
apt-get install paquet
apt-get upgrade
apt-get dist-upgrade
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.
apt-get install paquet/testing
Comment suivre Testing ou Unstable ?
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.
Package: *
Pin: release a=testing
Pin-Priority: 900
Package: *
Pin: release a=unstable
Pin-Priority: 800
Package: *
Pin: release o=Debian
Pin-Priority: -10
Avec un fichier sources.list(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 :
apt-get install paquet
apt-get upgrade
apt-get dist-upgrade
La commande suivante utilisera la version la plus récente de la
distribution unstable pour mettre à niveau le paquet spécifié ; Par la
suite, apt-get upgrade 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.
apt-get install paquet/unstable
SEE ALSO
apt-get(8) apt-cache(8) apt.conf(5) sources.list(5)
BOGUES
Voyez la
page concernant les bogues d´APT[1]. Si vous voulez signaler un bogue,
consultez le texte /usr/share/doc/debian/bug-reporting.txt ou utilisez
la commande reportbug(1).
TRADUCTION
Philippe Batailler. <debian-l10n-french@lists.debian.org>. 2005.
AUTEUR
APT team
Auteur.
NOTES
1. page concernant les bogues d’APT
http://bugs.debian.org/src:apt