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 rfrences plusieurs
distributions (par exemple, stable et testing), plusieurs versions d'un
paquet peuvent tre installes. APT affecte une priorit chaque version
disponible. La commande apt-get, tenant compte des contraintes de
dpendance, installe la version qui possde la priorit la plus haute. Le
fichier des prfrences annule les priorits assignes par dfaut aux
versions des paquets : ainsi l'utilisateur peut choisir la version
qu'il veut installer.
Si le fichier sources.list(5)contient, pour une mme distribution, des
rfrences plusieurs sites de tlchargement, il peut exister plusieurs
exemplaires de la mme version d'un paquet. Dans ce cas, apt-get
tlcharge l'exemplaire qui apparat en premier dans le fichier
sources.list(5). Le fichier des prfrences n'influe pas sur le choix des
exemplaires, seulement sur le choix de la version.
Les priorits affectes par dfaut
Quand le fichier des prfrences n'existe pas, ou quand aucune entre de
ce fichier ne s'applique une version prcise, la priorit affecte 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
dfaut ou target release et elle peut tre dfinie 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 dfaut a t indique, APT utilise l'algorithme
suivant pour dterminer la priorit des versions d'un paquet :
une priorit gale 100
est affecte la version dj installe (si elle existe).
une priorit gale 500
est affecte aux versions qui ne sont pas installes et qui
n'appartiennent pas la distribution par dfaut.
une priorit gale 990
est affecte aux versions qui ne sont pas installes et qui
appartiennent la distribution par dfaut.
Quand aucune distribution par dfaut n'a t indique, APT affecte
o Quand deux (ou plus) versions ont la mme priorit, installer la
version la plus rcente (c.--d. celle dont le numro de version est le
plus grand).
o Quand deux (ou plus) versions ont la mme priorit et le mme numro de
version, mais soit les paquets diffrent par certaines mtadonnes,
soit l'option --reinstall a t donne, installer la version qui n'est
pas installe.
En gnral, la version installe d'un paquet (priorit 100) n'est pas aussi
rcente que les versions disponibles dans les sources listes 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 installe d'un paquet peut tre - rarement - plus rcente que
tout autre version disponible. Les commandes apt-get install paquet ou
apt-get upgrade ne provoquent pas de retour en arrire.
Parfois, la version installe d'un paquet est plus rcente que la version
appartenant la distribution par dfaut, mais moins rcente 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 possde une plus
haute priorit que celle de la version installe.
Consquences des prfrences
Le fichier des prfrences permet l'administrateur systme de contrler
l'affectation des priorits. Ce fichier est constitu d'une ou plusieurs
entres spares par des lignes blanches. Ces entres peuvent avoir deux
formes, une forme particulire et une forme gnrale.
o La forme particulire affecte une priorit (Pin-Priority) un paquet
prcis, une version prcise ou un intervalle spcifiant plusieurs
versions. Par exemple, l'entre suivante affecte une priorit haute
toutes les versions du paquet perl dont le numro de version commence
par 5.8.
Package: perl
Pin: version 5.8*
Pin-Priority: 1001
o La forme gnrale affecte une priorit toutes les versions d'un paquet
dans une distribution donne (c'est--dire, toutes les versions d'un
paquet qui sont listes dans un fichier Release), ou toutes les
versions d'un paquet provenant d'un site internet identifi par un
nom compltement qualifi.
Cette forme gnrale des entres du fichier des prfrences s'applique
seulement aux groupes de paquets. Par exemple, l'entre suivante
unstable.
Package: *
Pin: release a=unstable
Pin-Priority: 50
L'entre suivante affecte une priorit haute toutes les versions d'un
paquet appartenant toute distribution dont le nom d' Archive est
stable et dont le numro de Version est 3.0.
Package: *
Pin: release a=stable, v=3.0
Pin-Priority: 500
Comment APT interprte-t-il les priorits ?
Les priorits (P) indiques dans le fichier des prfrences doivent tre des
entiers positifs ou ngatifs. Ils sont interprts peu prs comme suit :
P > 1000
Cette priorit entrane l'installation du paquet mme s'il s'agit d'un
retour en arrire.
990 < P <=1000
La version sera installe, mme si elle n'appartient pas la
distribution par dfaut ; mais elle ne sera pas installe si la
version installe est plus rcente.
500 < P <=990
La version sera installe, sauf s'il existe une version appartenant
la distribution par dfaut ou si la version installe est plus rcente.
100 < P <=500
La version sera installe, sauf s'il existe une version appartenant
une autre distribution ou si la version installe est plus rcente.
0 < P <=100
La version sera installe si aucune version du paquet n'est installe.
P < 0
Cette priorit empche l'installation de la version.
Si l'une des entres de forme particulire correspond la version
disponible d'un paquet, la premire entre trouve dtermine la priorit de
cette version. S'il n'en existe pas, et si l'une des entres de forme
gnrale correspond la version disponible d'un paquet, la premire entre
trouve dtermine la priorit.
Supposons par exemple que le fichier des prfrences contienne les trois
entres dcrites ci-dessous :
Package: perl
Pin: version 5.8*
5.8* existe et si la version installe est une version 5.9*, il y
aura un retour en arrire.
o Les versions des paquets (autres que perl) disponibles dans le site
local ont priorit sur les autres versions, mme celles appartenant
la distribution par dfaut.
o 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 installe que si aucune version du
paquet n'est dj installe.
Dtermination de la version des paquets et des proprits des distributions
Chaque source liste dans le fichier sources.list(5)doit fournir les
fichiers Packages et Release qui dcrivent les paquets disponibles cet
endroit.
Le fichier Packages se trouve normalement dans le rpertoire
.../dists/dist-name/component/arch, par exemple,
.../dists/stable/main/binary-i386/Packages. Il consiste en entres
composes de lignes, une pour chaque paquet disponible dans le
rpertoire. Seules deux lignes des entres sont pertinentes pour la
dtermination des priorits :
La ligne Package:
donne le nom du paquet
La ligne Version:
donne le numro de version du paquet
Le fichier Release se trouve normalement dans le rpertoire
.../dists/dist-name, par exemple, .../dists/stable/Release, ou
.../dists/woody/Release. Il consiste en une seule entre compose de
plusieurs lignes qui s'applique tous les paquets situs dans les
rpertoires sous le rpertoire parent. Contrairement au fichier Packages,
presque toutes les lignes du fichier Release sont pertinentes pour
dterminer les priorits :
La ligne Archive:
nomme l'archive laquelle appartiennent tous les paquets situs dans
les rpertoires. Par exemple, la ligne Archive: stable indique que
tous les paquets dans les rpertoires situs sous le rpertoire parent
du fichier Release appartiennent l'archive stable. Indiquer cette
valeur dans le fichier des prfrences demanderait cette ligne :
Pin: release a=stable
La ligne Version:
indique la version de la distribution. Par exemple, les paquets dans
les rpertoires peuvent appartenir la distribution Debian GNU/Linux
version 3.0. Il n'y a pas de numro de version pour les distributions
demanderait cette ligne :
Pin: release c=main
La ligne Origin:
nomme l'origine des paquets situs dans les rpertoires sous le
fichier Release. En gnral, c'est Debian. Indiquer cette origine dans
le fichier des prfrences demanderait cette ligne :
Pin: release o=Debian
La ligne Label:
indique un label pour les paquets qui se trouvent dans les
rpertoires sous le fichier Release. En gnral, c'est Debian. Indiquer
cette origine dans le fichier des prfrences demanderait cette
ligne :
Pin: release l=Debian
Tous les fichiers Packages et Release rcuprs dans des sources listes
par le fichier sources.list(5)sont conservs dans le rpertoire
/var/lib/apt/lists ou dans le fichier spcifi 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 prfrences
Toute entre du fichier des prfrences peut commencer par une ou
plusieurs lignes contenant le mot Explanation:. Cela permet des
commentaires.
La ligne Pin-Priority: d'une entre est facultative. Si elle n'existe
pas, APT affecte une priorit infrieure de 1 la valeur spcifie sur une
ligne commenant par Pin-Priority: release ....
EXEMPLES
Comment suivre Stable ?
Le fichier des prfrences suivant affecte une priorit plus haute que la
priorit par dfaut (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
relancer la commande.
apt-get install paquet/testing
Comment suivre Testing ou Unstable ?
Le fichier des prfrences 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 prfrences
ci-dessus, les commandes suivantes utiliseront les versions les plus
rcentes 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 rcente de la
distribution unstable pour mettre niveau le paquet spcifi ; Par la
suite, apt-get upgrade mettra le paquet jour avec la plus rcente
version dans testing si elle est plus rcente que la version installe ou
avec la plus rcente version dans unstable si elle est plus rcente que
la version installe.
apt-get install paquet/unstable
SEE ALSO
apt-get(8) apt-cache(8) apt.conf(5) sources.list(5)
BOGUES
Voyez la [1] page concernant les bogues d'APT. Si vous voulez signaler
un bogue, consultez le texte /usr/share/doc/debian/bug-reporting.txt ou
utilisez la commande reportbug(1).
Man(1) output converted with
man2html