summaryrefslogtreecommitdiff
path: root/doc/fr/apt_preferences.fr.5.xml
blob: 6e1d2043ef7a943c49c2bb2c765fa0cd4af8323b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
<?xml version="1.0" encoding="iso-8859-15" standalone="no"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [

<!ENTITY % aptent SYSTEM "apt.ent.fr">
%aptent;

]>

<refentry lang="fr">

 <refentryinfo>
   &apt-author.team;
   &apt-email;
   &apt-product;
   <!-- The last update date -->
   <date>29 Février 2004</date>
 </refentryinfo>

<refmeta>
<refentrytitle>apt_preferences</refentrytitle>
<manvolnum>5</manvolnum>
</refmeta>

<refnamediv>
<refname>apt_preferences</refname>
<refpurpose>Un fichier de contrôle des préférences pour APT</refpurpose>
</refnamediv>

<refsect1><title>Description</title>
<para>
Le fichier d'APT, <filename>/etc/apt/preferences</filename>, peut être utilisé pour
choisir la version des paquets que l'on veut installer.</para>
<para>
Quand le fichier &sources-list; contient des références à plusieurs
distributions (par exemple, <literal>stable</literal> et 
<literal>testing</literal>), plusieurs versions d'un paquet peuvent être
installées. APT affecte une priorité à chaque version disponible. La commande 
<command>apt-get</command>, 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&nbsp;: ainsi l'utilisateur peut choisir la version 
qu'il veut installer.
    </para>
<para>
Si le fichier &sources-list; 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, 
<command>apt-get</command> télécharge l'exemplaire qui apparaît en premier
dans le fichier &sources-list;. Le fichier des préférences n'influe pas sur
le choix des exemplaires, seulement sur le choix de la version.
    </para>

<refsect2><title>Les priorités affectées par défaut</title>
<para>
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&nbsp;: on l'appelle la distribution par
défaut ou «&nbsp;target release&nbsp;» et elle peut être définie sur la ligne 
de commande de <command>apt-get</command> ou dans le fichier de configuration 
d'APT, <filename>/etc/apt/apt.conf</filename>.
Par exemple&nbsp;:

<programlisting>
<command>apt-get install -t testing <replaceable>paquet</replaceable></command>
</programlisting>

<programlisting>
APT::Default-Release "stable";
</programlisting>
</para>
<para>
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&nbsp;:

<variablelist>
<varlistentry><term>une priorité égale à 100</term>
<listitem><simpara>est affectée à la version déjà installée (si elle existe).</simpara></listitem>
</varlistentry>

<varlistentry><term>une priorité égale à 500</term>
<listitem><simpara>est affectée aux versions qui ne sont pas installées et 
qui n'appartiennent pas à la distribution par défaut.</simpara></listitem>
</varlistentry>

<varlistentry><term>une priorité égale à 990</term>
<listitem><simpara>est affectée aux versions qui ne sont pas installées et 
qui appartiennent à la distribution par défaut.</simpara></listitem>
</varlistentry>
</variablelist>
</para>
<para>
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.
</para>
<para>
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é)&nbsp;: 

<itemizedlist>
<listitem><simpara>
Ne jamais revenir en arrière, sauf si la priorité d'une
version disponible dépasse 1000. «&nbsp;Revenir en arrière&nbsp;» 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&nbsp;; 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.
</simpara></listitem>
<listitem><simpara>
Installer la version qui possède la priorité la plus 
haute.
</simpara></listitem>
<listitem><simpara>
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).
</simpara></listitem>
<listitem><simpara>
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 <literal>--reinstall</literal> a été donnée, installer la 
version qui n'est pas installée.
</simpara></listitem>
</itemizedlist>
</para>
<para>
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; (priorité 500 ou 990). Et donc le
paquet sera mis à niveau avec la commande&nbsp;:
<command>apt-get install <replaceable>paquet</replaceable></command> ou 
<command>apt-get dist-upgrade</command>.
</para>
<para>
La version installée d'un paquet peut être - rarement - 
<emphasis>plus</emphasis> récente que tout autre version disponible. Les commandes 
<command>apt-get install <replaceable>paquet</replaceable></command> ou 
<command>apt-get upgrade</command> ne provoquent pas de retour en arrière.
</para>
<para>
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 
<command>apt-get install <replaceable>paquet</replaceable></command> ou 
<command>apt-get upgrade</command> car au moins <emphasis>l'une</emphasis> des versions 
disponibles possède une plus haute priorité que celle de la version installée.
</para>
</refsect2>

<refsect2><title>Conséquences des préférences</title>
<para>
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.
<itemizedlist>
<listitem><simpara>
La forme particulière affecte une priorité 
(<emphasis>Pin-Priority</emphasis>) à 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
<filename>perl</filename> dont le numéro de version commence par <literal>5.8</literal>.
</simpara>

<programlisting>
Package: perl
Pin: version 5.8*
Pin-Priority: 1001
</programlisting>
</listitem>

<listitem><simpara>
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 <filename>Release</filename>), ou à toutes les versions 
d'un paquet provenant d'un site internet identifié par un nom complètement
qualifié. 
</simpara>
<simpara>
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.
</simpara>

<programlisting>
Package: *
Pin: origin ""
Pin-Priority: 999
</programlisting>

<simpara>Attention ! le mot-clé utilisé ici, <literal>origin</literal>, ne doit pas
être confondu avec l'Origine d'une distribution indiquée dans
un fichier <filename>Release</filename>. Ce qui suit l'étiquette «&nbsp;Origin:&nbsp;» 
dans un fichier <filename>Release</filename> n'est pas une adresse internet
mais le nom d'un auteur ou d'un distributeur, comme Debian ou Ximian.
</simpara>
<simpara>L'entrée suivante affecte une priorité basse à toutes les versions
d'un paquet appartenant à toute distribution dont le nom 
d'«&nbsp;Archive&nbsp;» est <literal>unstable</literal>.
</simpara>

<programlisting>
Package: *
Pin: release a=unstable
Pin-Priority: 500
</programlisting>

<simpara>L'entrée suivante affecte une priorité haute à toutes les versions
d'un paquet appartenant à toute distribution dont le nom 
d'«&nbsp;Archive&nbsp;» est <literal>stable</literal> et dont le numéro
de «&nbsp;Version&nbsp;» est <literal>3.0</literal>. 
</simpara>

<programlisting>
Package: *
Pin: release a=stable, v=3.0
Pin-Priority: 500
</programlisting>
</listitem>
</itemizedlist>
</para>

</refsect2>

<refsect2><title>Comment APT interprète-t-il les priorités&nbsp;?</title>
<para>
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&nbsp;:

<variablelist>
<varlistentry><term>P &gt; 1000</term>
<listitem><simpara>
Cette priorité entraîne l'installation du paquet même s'il
s'agit d'un retour en arrière.
</simpara></listitem>
</varlistentry>

<varlistentry><term>990 &lt; P &lt;=1000</term>
<listitem><simpara>
La version sera installée, même si elle n'appartient pas à
la distribution par défaut&nbsp;; mais elle ne sera pas installée si la 
version installée est plus récente.
</simpara></listitem>
</varlistentry>

<varlistentry><term>500 &lt; P &lt;=990</term>
<listitem><simpara>
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.
</simpara></listitem>
</varlistentry>

<varlistentry><term>100 &lt; P &lt;=500</term>
<listitem><simpara>
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.
</simpara></listitem>
</varlistentry>

<varlistentry><term>0 &lt; P &lt;=100</term>
<listitem><simpara> 
La version sera installée si aucune version du paquet
n'est installée.
</simpara></listitem>
</varlistentry>

<varlistentry><term>P &lt; 0</term>
<listitem><simpara>
Cette priorité empêche l'installation de la version.
</simpara></listitem>
</varlistentry>
</variablelist>
</para>
<para>
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é.
</para>
<para>
Supposons par exemple que le fichier des préférences contienne les trois
entrées décrites ci-dessous&nbsp;:
</para>

<programlisting>
Package: perl
Pin: version 5.8*
Pin-Priority: 1001

Package: *
Pin: origin ""
Pin-Priority: 999

Package: *
Pin: release unstable
Pin-Priority: 50
</programlisting>

<para>
Alors&nbsp;:

<itemizedlist>
<listitem><simpara> 
La version la plus récente du paquet <literal>perl</literal> sera
installé pour autant que son numéro de version commence par <literal>5.8</literal>.
Si l'<emphasis>une</emphasis> des versions 5.8* existe et si la version installée est
une version 5.9*, il y aura un retour en arrière.
</simpara></listitem>
<listitem><simpara>
Les versions des paquets (autres que <literal>perl</literal>)
disponibles dans le site local ont priorité sur les autres versions,
même celles appartenant à la distribution par défaut.
</simpara></listitem>
<listitem><simpara> 
La version d'un paquet dont l'origine n'est pas le site
local mais un site internet listé dans &sources-list; et qui appartient à une
distribution <literal>unstable</literal>, ne sera installée que si aucune version
du paquet n'est déjà installée.
</simpara></listitem>
</itemizedlist>
</para>
</refsect2>

<refsect2><title>Détermination de la version des paquets et des propriétés des
distributions</title>
<para>
Chaque source listée dans le fichier &sources-list; doit fournir
les fichiers <filename>Packages</filename> et <filename>Release</filename>
qui décrivent les paquets disponibles à cet endroit.
</para>
<para>Le fichier <filename>Packages</filename> se trouve normalement dans le
répertoire 
<filename>.../dists/<replaceable>dist-name</replaceable>/<replaceable>component</replaceable>/<replaceable>arch</replaceable></filename>, par exemple,
<filename>.../dists/stable/main/binary-i386/Packages</filename>. 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&nbsp;:
<variablelist>
<varlistentry>
<term>La ligne <literal>Package:</literal> </term>
<listitem><simpara>
donne le nom du paquet
</simpara></listitem>
</varlistentry>
<varlistentry>
<term>La ligne <literal>Version:</literal> </term>
<listitem><simpara>
donne le numéro de version du paquet
</simpara></listitem>
</varlistentry>
</variablelist>
</para>
<para> 
Le fichier <filename>Release</filename> se trouve normalement dans le
répertoire
<filename>.../dists/<replaceable>dist-name</replaceable></filename>, par exemple, <filename>.../dists/stable/Release</filename>, ou <filename>.../dists/woody/Release</filename>.
Il consiste en une seule entrée composée de plusieurs lignes qui s'applique à
<emphasis>tous</emphasis> les paquets situés dans les répertoires sous
le répertoire parent. Contrairement au fichier <filename>Packages</filename>, presque 
toutes les lignes du fichier <filename>Release</filename> sont pertinentes pour
déterminer les priorités&nbsp;:

<variablelist>
<varlistentry>
<term>La ligne <literal>Archive:</literal> </term>
<listitem><simpara>
nomme l'archive à laquelle appartiennent tous les 
paquets situés dans les répertoires. Par exemple, la ligne
<literal>Archive: stable</literal> indique que tous les paquets dans les répertoires
situés sous le répertoire parent du fichier <filename>Release</filename> appartiennent
à l'archive <literal>stable</literal>. Indiquer cette valeur dans le fichier des
préférences demanderait cette ligne&nbsp;:
</simpara>
<programlisting>
Pin: release a=stable
</programlisting>
</listitem>
</varlistentry>

<varlistentry>
<term>La ligne <literal>Version:</literal> </term>
<listitem><simpara>
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 <literal>testing</literal> et <literal>unstable</literal> car elles 
n'ont pas encore été publiées. Indiquer cette valeur dans le fichier des préférences demanderait 
ces lignes&nbsp;:
</simpara>
<programlisting>
Pin: release v=3.0
Pin: release a=stable, v=3.0
Pin: release 3.0
</programlisting>
</listitem>
</varlistentry>

<varlistentry>
<term>La ligne <literal>Component:</literal></term>
<listitem><simpara>
nomme un composant qui indique le type de licence associée
aux paquets situés dans les répertoires sous le fichier 
<filename>Release</filename>. Par exemple, la ligne <literal>Component: main</literal> indique
que tous les exemplaires dans les répertoires appartiennent au composant
<literal>main</literal>, 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&nbsp;:
</simpara>
<programlisting>
Pin: release c=main
</programlisting>
</listitem>
</varlistentry>

<varlistentry>
<term>La ligne <literal>Origin:</literal> </term>
<listitem><simpara>
nomme l'origine des paquets situés
dans les répertoires sous le fichier <filename>Release</filename>. En général, c'est
<literal>Debian</literal>. Indiquer cette origine dans le fichier des préférences 
demanderait cette ligne&nbsp;:
</simpara>
<programlisting>
Pin: release o=Debian
</programlisting>
</listitem>
</varlistentry>

<varlistentry>
<term>La ligne <literal>Label:</literal> </term>
<listitem><simpara>
indique un label pour les paquets qui se trouvent
dans les répertoires sous le fichier <filename>Release</filename>. En général, c'est
<literal>Debian</literal>. Indiquer cette origine dans le fichier des préférences
demanderait cette ligne&nbsp;:
</simpara>
<programlisting>
Pin: release l=Debian
</programlisting>
</listitem>
</varlistentry>
</variablelist>
</para>
<para>Tous les fichiers <filename>Packages</filename> et
<filename>Release</filename> récupérés dans des sources listées par le
fichier &sources-list; sont conservés dans le répertoire
<filename>/var/lib/apt/lists</filename> ou dans le fichier spécifié par la
variable <literal>Dir::State::Lists</literal> dans le fichier <filename>apt.conf</filename>.
Par exemple, le fichier 
<filename>debian.lcs.mit.edu_debian_dists_unstable_contrib_binary-i386_Release</filename> 
contient le fichier <filename>Release</filename> du site 
<literal>debian.lcs.mit.edu</literal>, architecture <literal>binary-i386</literal> et
composant <literal>contrib</literal> de la distribution <literal>unstable</literal>.
</para>
</refsect2>

<refsect2><title>Lignes facultatives dans le fichier des préférences</title>
<para>
Toute entrée du fichier des préférences peut commencer par une ou
plusieurs lignes contenant le mot <literal>Explanation:</literal>. Cela permet des
commentaires.
</para>
<para>La ligne <literal>Pin-Priority:</literal> 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 <literal>Pin-Priority: release ...</literal>.
</para>
</refsect2>

</refsect1>

<refsect1><title>Exemples</title>
<refsect2><title>Comment suivre Stable&nbsp;?</title>
<para>
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 <literal>stable</literal> et une priorité prohibitivement basse à tous
les exemplaires appartenant à d'autres distributions <literal>Debian</literal>.

<programlisting>
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
</programlisting>
</para>
<para>
Avec le fichier des préférences ci-dessus et un fichier &sources-list;
adéquat, les commandes suivantes utiliseront les versions les plus récentes
de <literal>stable</literal> pour faire la mise à niveau&nbsp;:

<programlisting>
apt-get install <replaceable>paquet</replaceable>
apt-get upgrade
apt-get dist-upgrade
</programlisting>
</para>
<para>
La commande suivante utilisera la version la plus récente de la 
distribution <literal>testing</literal> pour mettre à niveau le paquet spécifié&nbsp;;
cependant les mises à niveau ultérieures du paquet ne se feront pas 
à moins de relancer la commande.

<programlisting>
apt-get install <replaceable>paquet</replaceable>/testing
</programlisting>
</para>
</refsect2>

<refsect2><title>Comment suivre Testing ou Unstable&nbsp;?</title>
<para>
Le fichier des préférences suivant affecte une priorité haute aux
versions des paquets appartenant à la distribution <literal>testing</literal>, une
priorité moindre aux versions appartenant à la distribution <literal>unstable</literal>
et une priorité prohibitivement basse aux versions  appartenant à d'autres
distributions <literal>Debian</literal>.

<programlisting>
Package: *
Pin: release a=testing
Pin-Priority: 900

Package: *
Pin: release a=unstable
Pin-Priority: 800

Package: *
Pin: release o=Debian
Pin-Priority: -10
</programlisting>
</para>
<para>
Avec un fichier &sources-list; approprié et le fichier des préférences 
ci-dessus, les commandes suivantes
utiliseront les versions les plus récentes de <literal>testing</literal> pour faire
la mise à niveau&nbsp;:

<programlisting>
apt-get install <replaceable>paquet</replaceable>
apt-get upgrade
apt-get dist-upgrade
</programlisting>
</para>
<para>
La commande suivante utilisera la version la plus récente de la
distribution <literal>unstable</literal> pour mettre à niveau le paquet spécifié&nbsp;;
Par la suite, <command>apt-get upgrade</command> mettra le paquet à jour
avec la plus récente version dans <literal>testing</literal>  si elle est plus récente
que la version installée ou avec la plus récente version dans 
<literal>unstable</literal> si elle est plus récente que la version installée.

<programlisting>
apt-get install <replaceable>paquet</replaceable>/unstable
</programlisting>
</para>
</refsect2>
</refsect1>

<refsect1><title>See Also</title>
<para>
&apt-get; &apt-cache; &apt-conf; &sources-list;
 </para>
</refsect1>

 &manbugs;
&traducteur;
</refentry>