NAME
apt_preferences - Fichier de contrôle des préférences pour APT
Le fichier d'APT, /etc/apt/preferences et les fichiers fragments situs
dans le dossier /etc/apt/preferences.d/, peuvent 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 prfrences sont un outil puissant pour les administrateurs systme
mais peuvent devenir leur pire cauchemar si elles sont utilises sans
prcautions. APT ne remettra pas en doute les rglages choisis. Des
valeurs errones pourront alors conduire des paquets non installables
ou des dcisions incorrectes lors de la mise jour des paquets. Des
problmes supplmentaires peuvent survenir si des distributions multiples
sont mlanges sans une bonne comprhension des paragraphes qui suivent.
Veuillez noter que les fichiers du rpertoire /etc/apt/preferences.d
sont analyss par ordre alphanumrique ascendant, doivent avoir
l'extension "pref" ou aucune extension et ne peuvent continir que des
caractres alphanumriques, des tirets (-), des caractres de soulignement
(_) et des points (.). Dans le cas contraire, ils seront ignors sans
avertissement.
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 :
priority 1
to the versions coming from archives which in their Release files
are marked as "NotAutomatic: yes" like the debian experimental
archive.
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.
If the target release has not been specified then APT simply assigns
priority 100 to all installed package versions and priority 500 to all
uninstalled package versions, expect versions coming from archives
which in their Release files are marked as "NotAutomatic: yes" - these
versions get the priority 1.
Puis APT applique les rgles suivantes pour dterminer la version du
paquet qu'il faut installer (par ordre de priorit) :
o Ne jamais revenir en arrire, sauf si la priorit d'une version
disponible dpasse 1000. << Revenir en arrire >> signifie installer
une version moins rcente que la version installe. Il faut noter
qu'aucune des priorits par dfaut n'excde 1000 ; de telles valeurs
ne peuvent tre dfinies que dans le fichier des prfrences. Notez
aussi qu'il est risqu de revenir en arrire.
o Installer la version qui possde la priorit la plus haute.
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.
UEn 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
affecte une priorit haute toutes les versions disponibles dans le
site local.
Package: *
Pin: origin ""
Pin-Priority: 999
A note of caution: the keyword used here is "origin" which can be
used to match a hostname. The following record will assign a high
priority to all versions available from the server identified by
the hostname "ftp.de.debian.org"
Package: *
Pin: origin "ftp.de.debian.org"
Pin-Priority: 999
This should not be confused with the Origin of a distribution as
specified in a Release file. What follows the "Origin:" tag in a
Release file is not an Internet address but an author or vendor
name, such as "Debian" or "Ximian".
L'entre 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
The following record assigns a high priority to all package
versions belonging to any distribution whose Codename is "squeeze".
Package: *
Pin: release n=squeeze
Pin-Priority: 900
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
Mthode d'interprtation des priorits par APT
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*
Pin-Priority: 1001
Package: *
Pin: origin ""
Pin-Priority: 999
Package: *
Pin: release unstable
Pin-Priority: 50
Alors :
o La version la plus rcente du paquet perl sera install pour autant
que son numro de version commence par 5.8. Si l'une des versions
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 mentionn 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 indique 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
The Release file is normally found in the directory
.../dists/dist-name: for example, .../dists/stable/Release, or
.../dists/lenny/Release. It consists of a single multi-line record
which applies to all of the packages in the directory tree below its
parent. Unlike the Packages file, nearly all of the lines in a Release
file are relevant for setting APT priorities:
La ligne Archive: ou Suite:
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 Codename:
names the codename to which all the packages in the directory tree
belong. For example, the line "Codename: squeeze" specifies that
all of the packages in the directory tree below the parent of the
Release file belong to a version named squeeze. Specifying this
value in the APT preferences file would require the line:
Pin: release n=squeeze
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 testing et unstable car elles n'ont pas encore t
publies. Indiquer cette valeur dans le fichier des prfrences
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 associe aux
paquets situs dans les rpertoires sous le fichier Release. Par
exemple, la ligne Component: main indique que tous les exemplaires
dans les rpertoires 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 prfrences
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 une tiquette 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 indiques
dans 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.
EXEMPLES
Mthode pour 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
Avec le fichier des prfrences ci-dessus et un fichier sources.list(5)
adquat, les commandes suivantes utiliseront les versions les plus
rcentes 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 rcente de la
distribution testing pour mettre niveau le paquet spcifi ; cependant
les mises niveau ultrieures du paquet ne se feront pas moins de
relancer la commande.
apt-get install paquet/testing
Mthode pour 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
Suivre l'volution d'une version par son nom de code
Le fichier des prfrences suivant affecte une priorit plus haute que la
priorit par dfaut (500) tous les exemplaires appartenant la version
portant le nom de code indiqu et une priorit prohibitivement basse
tous les exemplaires appartenant d'autres distributions Debian.
Veuillez noter qu'avec ce fichier de prfrences, APT suivra la
transformation d'une version testing en stable puis oldstable. Si, au
contraire, vous souhaitez suivre la version testing, vous devriez
utiliser un des exemples prcdents.
Explanation: Uninstall or do not install any Debian-originated package versions
Explanation: other than those in the distribution codenamed with squeeze or sid
Package: *
Pin: release n=squeeze
Pin-Priority: 900
Explanation: Debian unstable is always codenamed with sid
Package: *
Pin: release n=sid
Pin-Priority: 800
Package: *
Pin: release o=Debian
Pin-Priority: -10
With a suitable sources.list(5) file and the above preferences file,
any of the following commands will cause APT to upgrade to the latest
version(s) in the release codenamed with squeeze.
apt-get install paquet
apt-get upgrade
apt-get dist-upgrade
The following command will cause APT to upgrade the specified package
to the latest version from the sid distribution. Thereafter, apt-get
upgrade will upgrade the package to the most recent squeeze version if
that is more recent than the installed version, otherwise, to the most
recent sid version if that is more recent than the installed version.
apt-get install paquet/sid
FICHIERS
/etc/apt/preferences
Fichier des prfrences. C'est dans ce fichier qu'on peut faire de
l'tiquetage (pinning) c'est--dire, choisir d'obtenir des paquets
d'une source distincte ou d'une distribution diffrente. lment de
configuration : Dir::Etc::Preferences.
/etc/apt/preferences.d/
Fragments de fichiers pour la prfrence des versions. lment de
configuration : Dir::Etc::PreferencesParts.
VOIR AUSSI
apt-get(8) apt-cache(8) apt.conf(5) sources.list(5)
BOGUES
Page des bogues d'APT[1]. Si vous souhaitez signaler un bogue propos
d'APT, veuillez lire /usr/share/doc/debian/bug-reporting.txt ou
utiliser la commande reportbug(1).
TRADUCTEURS
Jrme Marant, Philippe Batailler, Christian Perrier bubulle@debian.org
(2000, 2005, 2009, 2010), quipe de traduction francophone de Debian
debian-l10n-french@lists.debian.org
Veuillez noter que cette traduction peut contenir des parties non
traduites Cela est volontaire, pour viter de perdre du contenu quand la
traduction est lgrement en retard sur le contenu d'origine.
AUTHOR
quipe de dveloppement d'APT
NOTES
1. Page des bogues d'APT
http://bugs.debian.org/src:apt