1
<?xml version="1.0" encoding="iso-8859-15" standalone="no"?>
2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
5
<!ENTITY % aptent SYSTEM "apt.ent.fr">
16
<!-- The last update date -->
17
<date>29 F�vrier 2004</date>
21
<refentrytitle>apt_preferences</refentrytitle>
22
<manvolnum>5</manvolnum>
26
<refname>apt_preferences</refname>
27
<refpurpose>Un fichier de contr�le des pr�f�rences pour APT</refpurpose>
30
<refsect1><title>Description</title>
32
Le fichier d'APT, <filename>/etc/apt/preferences</filename>, peut �tre utilis� pour
33
choisir la version des paquets que l'on veut installer.</para>
35
Quand le fichier &sources-list; contient des r�f�rences � plusieurs
36
distributions (par exemple, <literal>stable</literal> et
37
<literal>testing</literal>), plusieurs versions d'un paquet peuvent �tre
38
install�es. APT affecte une priorit� � chaque version disponible. La commande
39
<command>apt-get</command>, tenant compte des contraintes de
40
d�pendance, installe la version qui poss�de la priorit� la plus haute.
41
Le fichier des pr�f�rences annule les priorit�s assign�es par d�faut
42
aux versions des paquets : ainsi l'utilisateur peut choisir la version
46
Si le fichier &sources-list; contient, pour une m�me distribution,
47
des r�f�rences � plusieurs sites de t�l�chargement, il peut exister plusieurs
48
exemplaires de la m�me version d'un paquet. Dans ce cas,
49
<command>apt-get</command> t�l�charge l'exemplaire qui appara�t en premier
50
dans le fichier &sources-list;. Le fichier des pr�f�rences n'influe pas sur
51
le choix des exemplaires, seulement sur le choix de la version.
54
<refsect2><title>Les priorit�s affect�es par d�faut</title>
56
Quand le fichier des pr�f�rences n'existe pas, ou quand aucune entr�e
57
de ce fichier ne s'applique � une version pr�cise, la priorit� affect�e �
58
cette version est la priorit� de la distribution � laquelle elle appartient.
59
On peut distinguer une distribution et lui donner une priorit� plus haute
60
que celle des autres distributions : on l'appelle la distribution par
61
d�faut ou � target release � et elle peut �tre d�finie sur la ligne
62
de commande de <command>apt-get</command> ou dans le fichier de configuration
63
d'APT, <filename>/etc/apt/apt.conf</filename>.
67
<command>apt-get install -t testing <replaceable>paquet</replaceable></command>
71
APT::Default-Release "stable";
75
Quand une distribution par d�faut a �t� indiqu�e, APT utilise
76
l'algorithme suivant pour d�terminer la priorit� des versions d'un
80
<varlistentry><term>une priorit� �gale � 100</term>
81
<listitem><simpara>est affect�e � la version d�j� install�e (si elle existe).</simpara></listitem>
84
<varlistentry><term>une priorit� �gale � 500</term>
85
<listitem><simpara>est affect�e aux versions qui ne sont pas install�es et
86
qui n'appartiennent pas � la distribution par d�faut.</simpara></listitem>
89
<varlistentry><term>une priorit� �gale � 990</term>
90
<listitem><simpara>est affect�e aux versions qui ne sont pas install�es et
91
qui appartiennent � la distribution par d�faut.</simpara></listitem>
96
Quand aucune distribution par d�faut n'a �t� indiqu�e, APT affecte
97
simplement une priorit� �gale � 100 � toute version install�e d'un paquet
98
et une priorit� �gale � 500 � tout version non install�e.
101
Puis APT applique les r�gles suivantes pour d�terminer la version
102
du paquet qu'il faut installer (elles sont list�es par ordre de priorit�) :
106
Ne jamais revenir en arri�re, sauf si la priorit� d'une
107
version disponible d�passe 1000. � Revenir en arri�re � signifie
108
installer une version moins r�cente que la version install�e. Il
109
faut noter qu'aucune des priorit�s par d�faut n'exc�de 1000 ; de telles
110
valeurs ne peuvent �tre d�finies que dans le fichier des pr�f�rences. Notez
111
aussi qu'il est risqu� de revenir en arri�re.
112
</simpara></listitem>
114
Installer la version qui poss�de la priorit� la plus
116
</simpara></listitem>
118
Quand deux (ou plus) versions ont la m�me priorit�,
119
installer la version la plus r�cente (c.-�-d. celle dont le num�ro de
120
version est le plus grand).
121
</simpara></listitem>
123
Quand deux (ou plus) versions ont la m�me priorit� et le
124
m�me num�ro de version, mais soit les paquets diff�rent par certaines
125
m�tadonn�es, soit l'option <literal>--reinstall</literal> a �t� donn�e, installer la
126
version qui n'est pas install�e.
127
</simpara></listitem>
131
En g�n�ral, la version install�e d'un paquet (priorit� 100) n'est
132
pas aussi r�cente que les versions disponibles dans les sources
133
list�es dans le fichier &sources-list; (priorit� 500 ou 990). Et donc le
134
paquet sera mis � niveau avec la commande :
135
<command>apt-get install <replaceable>paquet</replaceable></command> ou
136
<command>apt-get dist-upgrade</command>.
139
La version install�e d'un paquet peut �tre - rarement -
140
<emphasis>plus</emphasis> r�cente que tout autre version disponible. Les commandes
141
<command>apt-get install <replaceable>paquet</replaceable></command> ou
142
<command>apt-get upgrade</command> ne provoquent pas de retour en arri�re.
145
Parfois, la version install�e d'un paquet est plus r�cente que la
146
version appartenant � la distribution par d�faut, mais moins r�cente que
147
la version appartenant � une autre distribution. Une telle version sera mise
148
� niveau par les commandes
149
<command>apt-get install <replaceable>paquet</replaceable></command> ou
150
<command>apt-get upgrade</command> car au moins <emphasis>l'une</emphasis> des versions
151
disponibles poss�de une plus haute priorit� que celle de la version install�e.
155
<refsect2><title>Cons�quences des pr�f�rences</title>
157
Le fichier des pr�f�rences permet � l'administrateur syst�me de
158
contr�ler l'affectation des priorit�s. Ce fichier est constitu� d'une ou
159
plusieurs entr�es s�par�es par des lignes blanches. Ces entr�es peuvent avoir
160
deux formes, une forme particuli�re et une forme g�n�rale.
163
La forme particuli�re affecte une priorit�
164
(<emphasis>Pin-Priority</emphasis>) � un paquet pr�cis, � une version pr�cise
165
ou � un intervalle sp�cifiant plusieurs versions. Par exemple, l'entr�e
166
suivante affecte une priorit� haute � toutes les versions du paquet
167
<filename>perl</filename> dont le num�ro de version commence par <literal>5.8</literal>.
178
La forme g�n�rale affecte une priorit� � toutes les versions d'un paquet dans
179
une distribution donn�e (c'est-�-dire, � toutes les versions d'un paquet qui
180
sont list�es dans un fichier <filename>Release</filename>), ou � toutes les versions
181
d'un paquet provenant d'un site internet identifi� par un nom compl�tement
185
Cette forme g�n�rale des entr�es du fichier des pr�f�rences
186
s'applique seulement aux groupes de paquets. Par exemple, l'entr�e suivante
187
affecte une priorit� haute � toutes les versions disponibles dans le
197
<simpara>Attention ! le mot-cl� utilis� ici, <literal>origin</literal>, ne doit pas
198
�tre confondu avec l'Origine d'une distribution indiqu�e dans
199
un fichier <filename>Release</filename>. Ce qui suit l'�tiquette � Origin: �
200
dans un fichier <filename>Release</filename> n'est pas une adresse internet
201
mais le nom d'un auteur ou d'un distributeur, comme Debian ou Ximian.
203
<simpara>L'entr�e suivante affecte une priorit� basse � toutes les versions
204
d'un paquet appartenant � toute distribution dont le nom
205
d'� Archive � est <literal>unstable</literal>.
210
Pin: release a=unstable
214
<simpara>L'entr�e suivante affecte une priorit� haute � toutes les versions
215
d'un paquet appartenant � toute distribution dont le nom
216
d'� Archive � est <literal>stable</literal> et dont le num�ro
217
de � Version � est <literal>3.0</literal>.
222
Pin: release a=stable, v=3.0
231
<refsect2><title>Comment APT interpr�te-t-il les priorit�s ?</title>
233
Les priorit�s (P) indiqu�es dans le fichier des pr�f�rences doivent
234
�tre des entiers positifs ou n�gatifs. Ils sont interpr�t�s � peu pr�s
238
<varlistentry><term>P > 1000</term>
240
Cette priorit� entra�ne l'installation du paquet m�me s'il
241
s'agit d'un retour en arri�re.
242
</simpara></listitem>
245
<varlistentry><term>990 < P <=1000</term>
247
La version sera install�e, m�me si elle n'appartient pas �
248
la distribution par d�faut ; mais elle ne sera pas install�e si la
249
version install�e est plus r�cente.
250
</simpara></listitem>
253
<varlistentry><term>500 < P <=990</term>
255
La version sera install�e, sauf s'il existe une version
256
appartenant � la distribution par d�faut ou si la version install�e est plus
258
</simpara></listitem>
261
<varlistentry><term>100 < P <=500</term>
263
La version sera install�e, sauf s'il existe une version
264
appartenant � une autre distribution ou si la version install�e est plus
266
</simpara></listitem>
269
<varlistentry><term>0 < P <=100</term>
271
La version sera install�e si aucune version du paquet
273
</simpara></listitem>
276
<varlistentry><term>P < 0</term>
278
Cette priorit� emp�che l'installation de la version.
279
</simpara></listitem>
284
Si l'une des entr�es de forme particuli�re correspond � la version
285
disponible d'un paquet, la premi�re entr�e trouv�e d�termine la priorit� de
286
cette version. S'il n'en existe pas, et si l'une des entr�es de forme g�n�rale
287
correspond � la version disponible d'un paquet, la premi�re entr�e trouv�e
288
d�termine la priorit�.
291
Supposons par exemple que le fichier des pr�f�rences contienne les trois
292
entr�es d�crites ci-dessous :
305
Pin: release unstable
314
La version la plus r�cente du paquet <literal>perl</literal> sera
315
install� pour autant que son num�ro de version commence par <literal>5.8</literal>.
316
Si l'<emphasis>une</emphasis> des versions 5.8* existe et si la version install�e est
317
une version 5.9*, il y aura un retour en arri�re.
318
</simpara></listitem>
320
Les versions des paquets (autres que <literal>perl</literal>)
321
disponibles dans le site local ont priorit� sur les autres versions,
322
m�me celles appartenant � la distribution par d�faut.
323
</simpara></listitem>
325
La version d'un paquet dont l'origine n'est pas le site
326
local mais un site internet list� dans &sources-list; et qui appartient � une
327
distribution <literal>unstable</literal>, ne sera install�e que si aucune version
328
du paquet n'est d�j� install�e.
329
</simpara></listitem>
334
<refsect2><title>D�termination de la version des paquets et des propri�t�s des
335
distributions</title>
337
Chaque source list�e dans le fichier &sources-list; doit fournir
338
les fichiers <filename>Packages</filename> et <filename>Release</filename>
339
qui d�crivent les paquets disponibles � cet endroit.
341
<para>Le fichier <filename>Packages</filename> se trouve normalement dans le
343
<filename>.../dists/<replaceable>dist-name</replaceable>/<replaceable>component</replaceable>/<replaceable>arch</replaceable></filename>, par exemple,
344
<filename>.../dists/stable/main/binary-i386/Packages</filename>. Il consiste
345
en entr�es compos�es de lignes, une pour chaque paquet disponible dans le
346
r�pertoire. Seules deux lignes des entr�es sont pertinentes pour la
347
d�termination des priorit�s :
350
<term>La ligne <literal>Package:</literal> </term>
352
donne le nom du paquet
353
</simpara></listitem>
356
<term>La ligne <literal>Version:</literal> </term>
358
donne le num�ro de version du paquet
359
</simpara></listitem>
364
Le fichier <filename>Release</filename> se trouve normalement dans le
366
<filename>.../dists/<replaceable>dist-name</replaceable></filename>, par exemple, <filename>.../dists/stable/Release</filename>, ou <filename>.../dists/woody/Release</filename>.
367
Il consiste en une seule entr�e compos�e de plusieurs lignes qui s'applique �
368
<emphasis>tous</emphasis> les paquets situ�s dans les r�pertoires sous
369
le r�pertoire parent. Contrairement au fichier <filename>Packages</filename>, presque
370
toutes les lignes du fichier <filename>Release</filename> sont pertinentes pour
371
d�terminer les priorit�s :
375
<term>La ligne <literal>Archive:</literal> </term>
377
nomme l'archive � laquelle appartiennent tous les
378
paquets situ�s dans les r�pertoires. Par exemple, la ligne
379
<literal>Archive: stable</literal> indique que tous les paquets dans les r�pertoires
380
situ�s sous le r�pertoire parent du fichier <filename>Release</filename> appartiennent
381
� l'archive <literal>stable</literal>. Indiquer cette valeur dans le fichier des
382
pr�f�rences demanderait cette ligne :
385
Pin: release a=stable
391
<term>La ligne <literal>Version:</literal> </term>
393
indique la version de la distribution. Par exemple, les
394
paquets dans les r�pertoires peuvent appartenir � la
395
distribution Debian GNU/Linux version 3.0. Il n'y a pas de num�ro de version
396
pour les distributions <literal>testing</literal> et <literal>unstable</literal> car elles
397
n'ont pas encore �t� publi�es. Indiquer cette valeur dans le fichier des pr�f�rences demanderait
402
Pin: release a=stable, v=3.0
409
<term>La ligne <literal>Component:</literal></term>
411
nomme un composant qui indique le type de licence associ�e
412
aux paquets situ�s dans les r�pertoires sous le fichier
413
<filename>Release</filename>. Par exemple, la ligne <literal>Component: main</literal> indique
414
que tous les exemplaires dans les r�pertoires appartiennent au composant
415
<literal>main</literal>, c'est-�-dire que leur licence est en accord avec les
416
Directives Debian pour le logiciel libre. Indiquer ce composant dans le
417
fichier des pr�f�rences demanderait cette ligne :
426
<term>La ligne <literal>Origin:</literal> </term>
428
nomme l'origine des paquets situ�s
429
dans les r�pertoires sous le fichier <filename>Release</filename>. En g�n�ral, c'est
430
<literal>Debian</literal>. Indiquer cette origine dans le fichier des pr�f�rences
431
demanderait cette ligne :
434
Pin: release o=Debian
440
<term>La ligne <literal>Label:</literal> </term>
442
indique un label pour les paquets qui se trouvent
443
dans les r�pertoires sous le fichier <filename>Release</filename>. En g�n�ral, c'est
444
<literal>Debian</literal>. Indiquer cette origine dans le fichier des pr�f�rences
445
demanderait cette ligne :
448
Pin: release l=Debian
454
<para>Tous les fichiers <filename>Packages</filename> et
455
<filename>Release</filename> r�cup�r�s dans des sources list�es par le
456
fichier &sources-list; sont conserv�s dans le r�pertoire
457
<filename>/var/lib/apt/lists</filename> ou dans le fichier sp�cifi� par la
458
variable <literal>Dir::State::Lists</literal> dans le fichier <filename>apt.conf</filename>.
459
Par exemple, le fichier
460
<filename>debian.lcs.mit.edu_debian_dists_unstable_contrib_binary-i386_Release</filename>
461
contient le fichier <filename>Release</filename> du site
462
<literal>debian.lcs.mit.edu</literal>, architecture <literal>binary-i386</literal> et
463
composant <literal>contrib</literal> de la distribution <literal>unstable</literal>.
467
<refsect2><title>Lignes facultatives dans le fichier des pr�f�rences</title>
469
Toute entr�e du fichier des pr�f�rences peut commencer par une ou
470
plusieurs lignes contenant le mot <literal>Explanation:</literal>. Cela permet des
473
<para>La ligne <literal>Pin-Priority:</literal> d'une entr�e est facultative. Si elle
474
n'existe pas, APT affecte une priorit� inf�rieure de 1 � la valeur sp�cifi�e
475
sur une ligne commen�ant par <literal>Pin-Priority: release ...</literal>.
481
<refsect1><title>Exemples</title>
482
<refsect2><title>Comment suivre Stable ?</title>
484
Le fichier des pr�f�rences suivant affecte une priorit� plus haute que
485
la priorit� par d�faut (500) � tous les exemplaires appartenant � la
486
distribution <literal>stable</literal> et une priorit� prohibitivement basse � tous
487
les exemplaires appartenant � d'autres distributions <literal>Debian</literal>.
490
Explanation: Ne pas installer des exemplaires d'origine Debian
491
Explanation: sauf ceux de la distribution stable
493
Pin: release a=stable
497
Pin: release o=Debian
502
Avec le fichier des pr�f�rences ci-dessus et un fichier &sources-list;
503
ad�quat, les commandes suivantes utiliseront les versions les plus r�centes
504
de <literal>stable</literal> pour faire la mise � niveau :
507
apt-get install <replaceable>paquet</replaceable>
513
La commande suivante utilisera la version la plus r�cente de la
514
distribution <literal>testing</literal> pour mettre � niveau le paquet sp�cifi� ;
515
cependant les mises � niveau ult�rieures du paquet ne se feront pas
516
� moins de relancer la commande.
519
apt-get install <replaceable>paquet</replaceable>/testing
524
<refsect2><title>Comment suivre Testing ou Unstable ?</title>
526
Le fichier des pr�f�rences suivant affecte une priorit� haute aux
527
versions des paquets appartenant � la distribution <literal>testing</literal>, une
528
priorit� moindre aux versions appartenant � la distribution <literal>unstable</literal>
529
et une priorit� prohibitivement basse aux versions appartenant � d'autres
530
distributions <literal>Debian</literal>.
534
Pin: release a=testing
538
Pin: release a=unstable
542
Pin: release o=Debian
547
Avec un fichier &sources-list; appropri� et le fichier des pr�f�rences
548
ci-dessus, les commandes suivantes
549
utiliseront les versions les plus r�centes de <literal>testing</literal> pour faire
550
la mise � niveau :
553
apt-get install <replaceable>paquet</replaceable>
559
La commande suivante utilisera la version la plus r�cente de la
560
distribution <literal>unstable</literal> pour mettre � niveau le paquet sp�cifi� ;
561
Par la suite, <command>apt-get upgrade</command> mettra le paquet � jour
562
avec la plus r�cente version dans <literal>testing</literal> si elle est plus r�cente
563
que la version install�e ou avec la plus r�cente version dans
564
<literal>unstable</literal> si elle est plus r�cente que la version install�e.
567
apt-get install <replaceable>paquet</replaceable>/unstable
573
<refsect1><title>See Also</title>
575
&apt-get; &apt-cache; &apt-conf; &sources-list;