summaryrefslogtreecommitdiff
path: root/doc/fr/apt_preferences.5.fr.sgml
blob: f910ef4f105525e344e8d031dfdfcf4cac1e3cfb (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
<!-- -*- mode: sgml; mode: fold -*- -->
<!-- translation of version 1.3 -->
<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [

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

]>

<refentry lang=fr>
 &apt-docinfo;
 
 <refmeta>
   <refentrytitle>apt_preferences</>
   <manvolnum>5</>
 </refmeta>
 
 <!-- Man page title -->
 <refnamediv>
    <refname>apt_preferences</>
    <refpurpose>Un fichier de contrôle, utilisé par APT, indiquant des préférences</>
 </refnamediv>
 
 <RefSect1><Title>Description</>
   <para>
Le fichier des préférences contrôle différents aspects du système APT. Il est
conçu pour être modifiable par l'utilisateur et manipulable de façon 
logicielle. Il comprend des enregistrements formés sur le modèle du fichier
<filename/status/ de Dpkg : des sections séparées par des espaces et des lignes
commençant par une étiquette suivie d'un « : ». Il se trouve dans
<filename>/etc/apt/preferences</>.
 </RefSect1>

 <RefSect1><Title>Questions de version</>
   <para>
L'un des buts de ce fichier est de permettre à l'utilisateur de choisir 
quelle version d'un paquet il veut installer. On peut faire ce choix de 
plusieurs façons mais il est basé sur trois critères&nbsp;: la version, 
l'édition et l'origine.
   <para>
Choisir la version peut se faire avec une recherche de correspondance sur une
chaîne exacte ou bien sur une chaîne préfixée. Le format est&nbsp;: <literal/2.1.2/
pour la première et <literal/2.2*/ pour la seconde. L'utilisation d'un préfixe
permet d'ignorer le <literal/r/ du système d'ordonnancement des éditions 
(<literal/2.1r*/), ou bien d'ignorer les révisions propres à Debian
(<literal/1.1-*/). Quand on compare des versions en se servant d'un préfixe,
la version possédant le numéro le plus élevé est toujours choisie.
   <para>
Choisir une édition de la distribution est plus compliqué et possède trois 
formes. Le but principal du choix d'une édition est d'identifier un ensemble de
paquets qui corresponde à un vendeur particulier ou à une édition de la 
distribution (p.ex. Debian 2.1). Les deux premières formes sont des raccourcis 
pour une utilisation rapide en ligne de commande. Si le premier caractère de
la chaîne est un chiffre, c'est une recherche fondée sur la version d'une 
édition&thinsp;; sinon, c'est une recherche sur le nom d'une édition. Quand la 
chaîne comporte des signes égal, c'est une recherche fondée sur une 
description complète de l'édition&thinsp;; cette chaîne est une liste de clés 
(une seule lettre) suivies d'un mot et séparées par une virgule. Exemples&nbsp;:
<informalexample><programlisting>
v=2.1*,o=Debian,c=main
l=Debian
a=stable
</programlisting></informalexample>   
   <para>
Ces recherches utilisent des données prises dans les fichiers 
<filename/Release/ récupérés par APT pendant une mise à jour. Voici les
clés disponibles&nbsp;:
   <VariableList>
     <VarListEntry><term>a= Archive</term>
     <ListItem><Para>
C'est le nom habituel donné à nos archives, comme <literal/stable/ ou
<literal/unstable/. Le nom spécial <literal/now/ désigne l'ensemble des
paquets installés.
     </VarListEntry>
     
     <VarListEntry><term>c= Composant</term>
     <ListItem><Para>
Indique un sous-composant de l'archive, tel que <literal/main/, 
<literal/contrib/, etc. Quand il n'y a pas de composant dans telle archive,
on peut l'omettre.
     </VarListEntry>
     
     <VarListEntry><term>v= Version</term>
     <ListItem><Para>
C'est la chaîne représentant la version&thinsp;; elle possède les mêmes 
caractéristiques que celle du fichier <filename/Packages/. C'est le niveau
édition de l'archive. Les numéros d'une édition classique de la distribution 
Debian ressemblent à <literal/2.1r2/ où le r désigne une édition (release) de
la distribution 2.1. Les nouvelles éditions sont limitées à des mises à
jour concernant la sécurité.
     </VarListEntry>

     <VarListEntry><term>o= Origine</term>
     <ListItem><Para>
Ce terme indique qui a fourni l'archive. Pour Debian, c'est <literal/Debian/.
Les autres fournisseurs peuvent utiliser leur propre nom.
     </VarListEntry>

     <VarListEntry><term><term>l= Label</term>
     <ListItem><Para>
Cela donne le nom général de la distribution. Pour Debian, c'est 
<literal/Debian/. Pour des distributions dérivées, ce terme doit être leur
propre nom.
     </VarListEntry>
   </VariableList>   
   <para>
La dernière méthode est le choix de l'origine. C'est simplement le nom du site
d'où proviennent les paquets. Une chaîne vide indique un URI de fichier.
   <para>
Le choix d'une version, et en particulier les deux dernières méthodes, 
concerne plusieurs parties d'APT, pas seulement le fichier préférences.
 </RefSect1>
 
<RefSect1><Title>Règles pour le choix d'une version</>
   <para>
APT conserve une liste de toutes les versions disponibles de tous les
paquets. Quand on indique plusieurs éditions ou vendeurs dans le fichier
&sources-list;, tous ces éléments sont disponibles. APT choisit par défaut
la version la plus récente parmi toutes ces sources automatiques. Quelques
sources sont étiquetées Non Automatique, p.ex. 
<filename>project/experimental</> -- elles sont mises en bas de la pile de 
sélection.
   <para>
Pour décider quelle version utiliser, APT affecte une priorité à toutes les
versions disponibles d'un paquet. Puis il fait deux choses. Premièrement&nbsp;:
il choisit, parmi les versions plus récentes que la version installée, la 
version qui possède la plus haute priorité&thinsp;; ensuite il choisit, parmi 
les versions plus anciennes que la version installée, celle qui possède la 
plus haute priorité. Deuxièmement&nbsp;: si les versions plus anciennes ont 
une priorité supérieure à 1000, il les compare avec la priorité que possède 
l'ensemble de mise à niveau&nbsp;: la plus grande est choisie. Autrement, les 
versions provoquant une régression sont ignorées et il choisit la plus grande 
priorité de l'ensemble de mise à niveau.
   <para>
On peut penser le système de priorité en termes de strates&nbsp;:
   <VariableList>
     <VarListEntry><term>1000 et au-dessus</term>
     <ListItem><Para>
Priorités permettant la régression
     </VarListEntry>
     
     <VarListEntry><term>1000</term>
     <ListItem><Para>
La barrière pour empêcher la régression.
     </VarListEntry>
     
     <VarListEntry><term>de 100 à 1000</term>
     <ListItem><Para>
Priorités standards. 990 est la priorité définie par l'option 
<option/--target-release / du programme &apt-get;. 989 est le début des
priorités automatiques et 500 la priorité par défaut des fichiers d'un paquet.
     </VarListEntry>
     
     <VarListEntry><term>100</term>
     <ListItem><Para>
Priorité de la version actuellement installée.
     </VarListEntry>

     <VarListEntry><term>de 0 à 100</term>
     <ListItem><Para>
Priorités non automatiques. On s'en sert uniquement si le paquet n'est pas
installé et s'il n'y a pas d'autre version disponible.
     </VarListEntry>

     <VarListEntry><term>inférieur à 0</term>
     <ListItem><Para>
Priorité pour une version qui ne sera jamais sélectionnée.
     </VarListEntry>
   </VariableList>   
   <para>
Une priorité supérieure à 1000 donnée à une étiquette (pin) autorise une 
régression vers cette version.
   <para>
On peut accrocher une étiquette à chaque paquet et chaque fichier
<filename/Packages/ possède une priorité pour tous les paquets. La plus
haute priorité affectée à un paquet est celle qui est utilisée.
   <para>
Une étiquette de paquet est de cette forme&nbsp;:
<informalexample><programlisting>
Package: apt
Pin: version 0.4.0
Pin-Priority: 1001
</programlisting></informalexample>   
La première ligne indique le paquet, la seconde donne le nom de l'étiquette 
et la dernière la priorité pour cette étiquette. Le premier mot du nom de 
l'étiquette peut être&nbsp;: version, release ou origin&thinsp;; le reste du 
champ est décrit plus haut dans la section «&nbsp;Règles pour le choix d'une 
version&nbsp;».
   <para>
Une étiquette par défaut représente comment sont définies les priorités des
fichiers d'un paquet. On peut spécifier autant d'étiquette par défaut qu'on
veut&thinsp;; la première correspondant au défaut sélectionne la priorité pour 
les fichiers d'un paquet. Seuls «&nbsp;release&nbsp;» et «&nbsp;origin&nbsp;» 
peuvent être utilisés dans le nom de l'étiquette puisqu'ils correspondent aux 
fichiers <filename/Packages/.
<informalexample><programlisting>
Package: *
Pin: release v=2.1*
Pin-Priority: 998
</programlisting></informalexample>
   <para>
Quand le champ Pin-Priority manque, la priorité est par défaut de 989
dans les deux cas.
   
   <RefSect2><title>Effets notables</>
   <para>
À cause de la barrière empêchant les régressions (priorité 1000), il est
possible qu'une version possédant une priorité inférieure soit choisie si
une version possédant une priorité supérieure provoque une régression. Par
exemple, le paquet foo possède les versions <literal/1.2/, <literal/1.1/
et <literal/1.0/&thinsp;; <literal/1.1/ est la version installée&thinsp;; les 
priorités de chaque version sont&nbsp;: 900, 100 et 950 respectivement&nbsp;: 
la version <literal/1.2/ sera installée.
   <para>
Dans la pratique, c'est ce qu'on veut&thinsp;! Un utilisateur utilisera une
étiquette par défaut pour rendre la distribution «&nbsp;stable&nbsp;» la 
distribution par défaut&thinsp;; il utilisera ensuite l'option 
<option/--target-dist/ avec &apt-get; pour choisir de nouvelles versions dans 
«&nbsp;unstable&nbsp;». Les paquets mis à niveau avec «&nbsp;unstable&nbsp;» 
suivront les versions disponibles dans «&nbsp;unstable&nbsp;» puisque les 
versions de «&nbsp;stable&nbsp;» sont maintenant passées
sous la barrière empêchant la régression.
   <para>
Si on ne le veut pas, on doit utiliser une étiquette par défaut qui donne
à «&nbsp;unstable&nbsp;» une priorité inférieure à 100.
   <para>
Ceux qui utilisent des suppléments venant de tiers comme Helix GNOME peuvent 
se servir de ce procédé pour obtenir des paquets Helix&thinsp;; ils peuvent 
forcer l'utilisation des paquets Debian en définissant la priorité de cette 
source suffisamment haut. On peut même réaliser une régression massive d'un 
ensemble de paquets à un autre en utilisant une priorité supérieure à 1000.
   </RefSect2>
 </RefSect1>
  
 <RefSect1><Title>Voir aussi</>
   <para>
   &apt-cache; &apt-conf;
 </RefSect1>

 &manbugs;
 &manauthor;
&traducteur; 
</refentry>