1
<!-- -*- mode: sgml; mode: fold -*- -->
2
<!-- translation of version 1.7 -->
3
<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
5
<!ENTITY % aptent SYSTEM "apt.ent.fr">
14
<refentrytitle>apt_preferences</>
18
<!-- Man page title -->
20
<refname>apt_preferences</>
21
<refpurpose>Un fichier de contr�le, utilis� par APT et indiquant des pr�f�rences</>
24
<RefSect1><Title>Description</>
26
Le fichier d'APT, <filename>/etc/apt/preferences</>, peut �tre utilis� pour
27
choisir la version des paquets que l'on veut installer.
30
<para>Quand le fichier &sources-list; contient des r�f�rences � plusieurs
31
distributions (par exemple, <literal>stable</literal> et
32
<literal>testing</literal>), plusieurs versions d'un paquet peuvent �tre
33
install�es. Apt affecte une priorit� � chaque version disponible. La commande
34
<command>apt-get</command>, tenant compte des contraintes de
35
d�pendance, installe la version qui poss�de la priorit� la plus haute.
36
Le fichier des pr�f�rences annule les priorit�s assign�es par d�faut
37
aux versions des paquets : ainsi l'utilisateur peut choisir la version
41
Si le fichier &sources-list; contient, pour une m�me distribution,
42
des r�f�rences � plusieurs sites de t�l�chargement, il peut exister plusieurs
43
exemplaires de la m�me version d'un paquet. Dans ce cas,
44
<command>apt-get</command> t�l�charge l'exemplaire qui appara�t en premier
45
dans le fichier &sources-list;. Le fichier des pr�f�rences n'influe pas sur
46
le choix des exemplaires, seulement sur le choix de la version.
49
<RefSect2><Title>Les priorit�s affect�es par d�faut</>
51
<para>Quand le fichier des pr�f�rences n'existe pas, ou quand aucune entr�e
52
de ce fichier ne s'applique � une version pr�cise, la priorit� affect�e �
53
cette version est la priorit� de la distribution � laquelle elle appartient.
54
On peut distinguer une distribution et lui donner une priorit� plus haute
55
que celle des autres distributions : on l'appelle la distribution par
56
d�faut ou � target release � et elle peut �tre d�finie sur la ligne
57
de commande de <command>apt-get</command> ou dans le fichier de configuration
58
d'APT, <filename>/etc/apt/apt.conf</filename>.
62
<command>apt-get install -t testing <replaceable>paquet</replaceable></command>
66
APT::Default-Release "stable";
70
<para>Quand une distribution par d�faut a �t� indiqu�e, APT utilise
71
l'algorithme suivant pour d�terminer la priorit� des versions d'un
76
<term>une priorit� �gale � 100</term>
77
<listitem><simpara>est affect�e � la version d�j� install�e (si elle existe).
81
<term>une priorit� �gale � 500</term>
82
<listitem><simpara>est affect�e aux versions qui ne sont pas install�es et
83
qui n'appartiennent pas � la distribution par d�faut.
87
<term>une priorit� �gale � 990</term>
88
<listitem><simpara>est affect�e aux versions qui ne sont pas install�es et
89
qui appartiennent � la distribution par d�faut.
95
<para>Quand aucune distribution par d�faut n'a �t� indiqu�e, APT affecte
96
simplement une priorit� �gale � 100 � toute version install�e d'un paquet
97
et une priorit� �gale � 500 � tout version non install�e.
100
<para>Puis APT applique les r�gles suivantes pour d�terminer la version
101
du paquet qu'il faut installer (elles sont list�es par ordre de priorit�) :
104
<listitem><simpara>Ne jamais revenir en arri�re, sauf si la priorit� d'une
105
version disponible d�passe 1000. � Revenir en arri�re � signifie
106
installer une version moins r�cente que la version install�e. Il
107
faut noter qu'aucune des priorit�s par d�faut n'exc�de 1000 ; de telles
108
valeurs ne peuvent �tre d�finies que dans le fichier des pr�f�rences. Notez
109
aussi qu'il est risqu� de revenir en arri�re.
110
</simpara></listitem>
111
<listitem><simpara>Installer la version qui poss�de la priorit� la plus
113
</simpara></listitem>
114
<listitem><simpara>Quand deux (ou plus) versions ont la m�me priorit�,
115
installer la version la plus r�cente (c.-�-d. celle dont le num�ro de
116
version est le plus grand).
117
</simpara></listitem>
118
<listitem><simpara>Quand deux (ou plus) versions ont la m�me priorit� et le
119
m�me num�ro de version, mais soit les paquets diff�rent par certaines
120
m�tadonn�es, soit l'option <literal/--reinstall/ a �t� donn�e, installer la
121
version qui n'est pas install�e.
122
</simpara></listitem>
126
<para>En g�n�ral, la version install�e d'un paquet (priorit� 100) n'est
127
pas aussi r�cente que les versions disponibles dans les sources
128
list�es dans le fichier &sources-list; (priorit� 500 ou 990). Et donc le
129
paquet sera mis � niveau avec la commande :
130
<command>apt-get install <replaceable>paquet</replaceable></command> ou
131
<command>apt-get dist-upgrade</command>.
134
<para>La version install�e d'un paquet peut �tre - rarement -
135
<emphasis/plus/ r�cente que tout autre version disponible. Les commandes
136
<command>apt-get install <replaceable>paquet</replaceable></command> ou
137
<command>apt-get upgrade</command> ne provoquent pas de retour en arri�re.
140
<para>Parfois, la version install�e d'un paquet est plus r�cente que la
141
version appartenant � la distribution par d�faut, mais moins r�cente que
142
la version appartenant � une autre distribution. Une telle version sera mise
143
� niveau par les commandes
144
<command>apt-get install <replaceable>paquet</replaceable></command> ou
145
<command>apt-get upgrade</command> car au moins <emphasis/l'une/ des versions
146
disponibles poss�de une plus haute priorit� que celle de la version install�e.
151
<RefSect2><Title>Cons�quences des pr�f�rences</>
153
<para>Le fichier des pr�f�rences permet � l'administrateur-syst�me de
154
contr�ler l'affectation des priorit�s. Ce fichier est constitu� d'une ou
155
plusieurs entr�es s�par�es par des lignes blanches. Ces entr�es peuvent avoir
156
deux formes, une forme particuli�re et une forme g�n�rale.
159
<simpara>La forme particuli�re affecte une priorit�
160
(<emphasis>Pin-Priority</emphasis>) � un paquet pr�cis, � une version pr�cise
161
ou � un intervalle sp�cifiant plusieurs versions. Par exemple, l'entr�e
162
suivante affecte une priorit� haute � toutes les versions du paquet
163
<filename/perl/ dont le num�ro de version commence par <literal/5.8/.
174
La forme g�n�rale affecte une priorit� � toutes les versions d'un paquet dans
175
une distribution donn�e (c'est-�-dire, � toutes les versions d'un paquet qui
176
sont list�es dans un fichier <filename/Release/), ou � toutes les versions
177
d'un paquet provenant d'un site internet identifi� par un nom pleinement
181
<simpara>Cette forme g�n�rale des entr�es du fichier des pr�f�rences
182
s'applique seulement aux groupes de paquets. Par exemple, l'entr�e suivante
183
affecte une priorit� haute � toutes les versions disponibles dans le
193
<simpara>Attention ! le mot-cl� utilis� ici, <literal/origin/, ne doit pas
194
�tre confondu avec l'Origine d'une distribution indiqu�e dans
195
un fichier <filename/Release/. Ce qui suit l'�tiquette � Origin: �
196
dans un fichier <filename/Release/ n'est pas une adresse internet
197
mais le nom d'un auteur ou d'un distributeur, comme Debian ou Ximian.
200
<simpara>L'entr�e suivante affecte une priorit� basse � toutes les versions
201
d'un paquet appartenant � toute distribution dont le nom
202
d'� Archive � est <literal/unstable/.
207
Pin: release a=unstable
211
<simpara>L'entr�e suivante affecte une priorit� haute � toutes les versions
212
d'un paquet appartenant � toute distribution dont le nom
213
d'� Archive � est <literal/stable/ et dont le num�ro
214
de � Version � est <literal/3.0/.
219
Pin: release a=stable, v=3.0
228
<RefSect2><Title>Comment APT interpr�te-t-il les priorit�s ?</Title>
230
<para>Les priorit�s (P) indiqu�es dans le fichier des pr�f�rences doivent
231
�tre des entiers positifs ou n�gatifs. Ils sont interpr�t�s � peu pr�s
235
<varlistentry><term>P > 1000</term>
236
<listitem><simpara>Cette priorit� entra�ne l'installation du paquet m�me s'il
237
s'agit d'un retour en arri�re.
238
</simpara></listitem>
240
<varlistentry><term>990 < P <=1000</term>
241
<listitem><simpara>La version sera install�e, m�me si elle n'appartient pas �
242
la distribution par d�faut ; mais elle ne sera pas install�e si la
243
version install�e est plus r�cente.
244
</simpara></listitem>
246
<varlistentry><term>500 < P <=990</term>
247
<listitem><simpara>La version sera install�e, sauf s'il existe une version
248
appartenant � la distribution par d�faut ou si la version install�e est plus
250
</simpara></listitem>
252
<varlistentry><term>100 < P <=500</term>
253
<listitem><simpara>La version sera install�e, sauf s'il existe une version
254
appartenant � une autre distribution ou si la version install�e est plus
256
</simpara></listitem>
257
<varlistentry><term>0 < P <=100</term>
258
<listitem><simpara> La version sera install�e si aucune version du paquet
260
</simpara></listitem>
262
<varlistentry><term>P < 0</term>
263
<listitem><simpara>Cette priorit� emp�che l'installation de la version.
264
</simpara></listitem>
269
<para>Si l'une des entr�es de forme particuli�re correspond � la version
270
disponible d'un paquet, la premi�re entr�e trouv�e d�termine la priorit� de
271
cette version. S'il n'en existe pas, et si l'une des entr�es de forme g�n�rale
272
correspond � la version disponible d'un paquet, la premi�re entr�e trouv�e
273
d�termine la priorit�.
276
<para>Supposons par exemple que le fichier des pr�f�rences contienne les trois
277
entr�es d�crites ci-dessous :
289
Pin: release unstable
296
<listitem><simpara> La version la plus r�cente du paquet <literal/perl/ sera
297
install� pour autant que son num�ro de version commence par <literal/5.8/.
298
Si l'<emphasis/une/ des versions 5.8* existe et si la version install�e est
299
une version 5.9*, il y aura un retour en arri�re.
300
</simpara></listitem>
301
<listitem><simpara>Les versions des paquets (autres que <literal/perl/)
302
disponibles dans le site local ont priorit� sur les autres versions,
303
m�me celles appartenant � la distribution par d�faut.
304
</simpara></listitem>
305
<listitem><simpara> La version d'un paquet dont l'origine n'est pas le site
306
local mais un site internet list� dans &sources-list; et qui appartient � une
307
distribution <literal/unstable/, ne sera install�e que si aucune version
308
du paquet n'est d�j� install�e.
309
</simpara></listitem>
314
<RefSect2><Title>D�termination de la version des paquets et des propri�t�s des
315
distributions</Title>
317
<para>Chaque source list�e dans le fichier &sources-list; doit fournir
318
les fichiers <filename>Packages</filename> et <filename>Release</filename>
319
qui d�crivent les paquets disponibles � cet endroit.
322
<para>Le fichier <filename>Packages</filename> se trouve normalement dans le
324
<filename>.../dists/<replaceable>dist-name</replaceable>/<replaceable>component</replaceable>/<replaceable>arch</replaceable></filename>, par exemple,
325
<filename>.../dists/stable/main/binary-i386/Packages</filename>. Il consiste
326
en entr�es compos�es de lignes, une pour chaque paquet disponible dans le
327
r�pertoire. Seules deux lignes des entr�es sont pertinentes pour la
328
d�termination des priorit�s :
331
<term>La ligne <literal/Package:/ </term>
332
<listitem><simpara>donne le nom du paquet</simpara></listitem>
335
<term>La ligne <literal/Version:/ </term>
336
<listitem><simpara>donne le num�ro de version du paquet</simpara></listitem>
341
<para> Le fichier <filename>Release</filename> se trouve normalement dans le
343
<filename>.../dists/<replaceable>dist-name</replaceable></filename>, par exemple, <filename>.../dists/stable/Release</filename>, ou <filename>.../dists/woody/Release</filename>.
344
Il consiste en une seule entr�e compos�e de plusieurs lignes qui s'applique �
345
<emphasis/tous/ les paquets situ�s dans les r�pertoires sous
346
le r�pertoire parent. Contrairement au fichier <filename/Packages/, presque
347
toutes les lignes du fichier <filename/Release/ sont pertinentes pour
348
d�terminer les priorit�s :
351
<term>La ligne <literal/Archive:/ </term>
352
<listitem><simpara>nomme l'archive � laquelle appartiennent tous les
353
paquets situ�s dans les r�pertoires. Par exemple, la ligne
354
<literal/Archive: stable/ indique que tous les paquets dans les r�pertoires
355
situ�s sous le r�pertoire parent du fichier <filename/Release/ appartiennent
356
� l'archive <literal/stable/. Indiquer cette valeur dans le fichier des
357
pr�f�rences demanderait cette ligne :
361
Pin: release a=stable
367
<term>La ligne <literal/Version:/ </term>
368
<listitem><simpara>indique la version de la distribution. Par exemple, les
369
paquets dans les r�pertoires peuvent appartenir � la
370
distribution Debian GNU/Linux version 3.0. Il n'y a pas de num�ro de version
371
pour les distributions <literal/testing/ et <literal/unstable/ car elles
372
n'ont pas encore �t� publi�es. Indiquer cette valeur dans le fichier des pr�f�rences demanderait
378
Pin: release a=stable, v=3.0
386
<term>La ligne <literal/Component:/</term>
387
<listitem><simpara>nomme un composant qui indique le type de licence associ�e
388
aux paquets situ�s dans les r�pertoires sous le fichier
389
<filename/Release/. Par exemple, la ligne <literal/Component: main/ indique
390
que tous les exemplaires dans les r�pertoires appartiennent au composant
391
<literal/main/, c'est-�-dire que leur licence est en accord avec les
392
Directives Debian pour le logiciel libre. Indiquer ce composant dans le
393
fichier des pr�f�rences demanderait cette ligne :
403
<term>La ligne <literal/Origin:/ </term>
404
<listitem><simpara>nomme l'origine des paquets situ�s
405
dans les r�pertoires sous le fichier <filename/Release/. En g�n�ral, c'est
406
<literal/Debian/. Indiquer cette origine dans le fichier des pr�f�rences
407
demanderait cette ligne :
411
Pin: release o=Debian
417
<term>La ligne <literal/Label:/ </term>
418
<listitem><simpara>indique un label pour les paquets qui se trouvent
419
dans les r�pertoires sous le fichier <filename/Release/. En g�n�ral, c'est
420
<literal/Debian/. Indiquer cette origine dans le fichier des pr�f�rences
421
demanderait cette ligne :
425
Pin: release l=Debian
432
<para>Tous les fichiers <filename>Packages</filename> et
433
<filename>Release</filename> r�cup�r�s dans des sources list�es par le
434
fichier &sources-list; sont conserv�s dans le r�pertoire
435
<filename>/var/lib/apt/lists</filename> ou dans le fichier sp�cifi� par la
436
variable <literal/Dir::State::Lists/ dans le fichier <filename/apt.conf/.
437
Par exemple, le fichier
438
<filename>debian.lcs.mit.edu_debian_dists_unstable_contrib_binary-i386_Release</filename> contient le fichier <filename>Release</filename> du site
439
<literal/debian.lcs.mit.edu/, architecture <literal/binary-i386/ et
440
composant <literal/contrib/ de la distribution <literal/unstable/.
445
<RefSect2><Title>Lignes facultatives dans le fichier des pr�f�rences</Title>
447
<para>Toute entr�e du fichier des pr�f�rences peut commencer par une ou
448
plusieurs lignes contenant le mot <literal/Explanation:/. Cela permet des
452
<para>La ligne <literal/Pin-Priority:/ d'une entr�e est facultative. Si elle
453
n'existe pas, APT affecte une priorit� inf�rieure de 1 � la valeur sp�cifi�e
454
sur une ligne commen�ant par <literal/Pin-Priority: release .../.
459
<RefSect1><Title>Exemples</>
460
<RefSect2><Title>Comment suivre Stable ?</Title>
462
<para>Le fichier des pr�f�rences suivant affecte une priorit� plus haute que
463
la priorit� par d�faut (500) � tous les exemplaires appartenant � la
464
distribution <literal/stable/ et une priorit� prohibitivement basse � tous
465
les exemplaires appartenant � d'autres distributions <literal/Debian/.
468
Explanation: Ne pas installer des exemplaires d'origine Debian
469
Explanation: sauf ceux de la distribution stable
471
Pin: release a=stable
475
Pin: release o=Debian
480
<para>Avec le fichier des pr�f�rences ci-dessus et un fichier &sources-list;
481
ad�quat, les commandes suivantes utiliseront les versions les plus r�centes
482
de <literal/stable/ pour faire la mise � niveau :
485
apt-get install <replaceable>paquet</replaceable>
491
<para>La commande suivante utilisera la version la plus r�cente de la
492
distribution <literal/testing/ pour mettre � niveau le paquet sp�cifi� ;
493
cependant les mises � niveau ult�rieures du paquet ne se feront pas
494
� moins de relancer la commande.
497
apt-get install <replaceable>paquet</replaceable>/testing
501
<RefSect2><Title>Comment suivre Testing ou Unstable ?</Title>
503
<para>Le fichier des pr�f�rences suivant affecte une priorit� haute aux
504
versions des paquets appartenant � la distribution <literal/testing/, une
505
priorit� moindre aux versions appartenant � la distribution <literal/unstable/
506
et une priorit� prohibitivement basse aux versions appartenant � d'autres
507
distributions <literal/Debian/.
511
Pin: release a=testing
515
Pin: release a=unstable
519
Pin: release o=Debian
524
<para>Avec un fichier &sources-list; appropri� et le fichier des pr�f�rences
525
ci-dessus, les commandes suivantes
526
utiliseront les versions les plus r�centes de <literal/testing/ pour faire
527
la mise � niveau :
530
apt-get install <replaceable>paquet</replaceable>
536
<para>La commande suivante utilisera la version la plus r�cente de la
537
distribution <literal/unstable/ pour mettre � niveau le paquet sp�cifi� ;
538
Par la suite, <command>apt-get upgrade</command> mettra le paquet � jour
539
avec la plus r�cente version dans <literal/testing/ si elle est plus r�cente
540
que la version install�e ou avec la plus r�cente version dans
541
<literal/unstable/ si elle est plus r�cente que la version install�e.
544
apt-get install <replaceable>paquet</replaceable>/unstable
551
<RefSect1><Title>See Also</>
553
&apt-get; &apt-cache; &apt-conf; &sources-list;