apt_preferences.5.fr.sgml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. <!-- -*- mode: sgml; mode: fold -*- -->
  2. <!-- translation of version 1.3 -->
  3. <!doctype refentry PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
  4. <!ENTITY % aptent SYSTEM "apt.ent.fr">
  5. %aptent;
  6. ]>
  7. <refentry lang=fr>
  8. &apt-docinfo;
  9. <refmeta>
  10. <refentrytitle>apt_preferences</>
  11. <manvolnum>5</>
  12. </refmeta>
  13. <!-- Man page title -->
  14. <refnamediv>
  15. <refname>apt_preferences</>
  16. <refpurpose>Un fichier de contrôle, utilisé par APT, indiquant des préférences</>
  17. </refnamediv>
  18. <RefSect1><Title>Description</>
  19. <para>
  20. Le fichier des préférences contrôle différents aspects du système APT. Il est
  21. conçu pour être modifiable par l'utilisateur et manipulable de façon
  22. logicielle. Il comprend des enregistrements formés sur le modèle du fichier
  23. <filename/status/ de Dpkg : des sections séparées par des espaces et des lignes
  24. commençant par une étiquette suivie d'un « : ». Il se trouve dans
  25. <filename>/etc/apt/preferences</>.
  26. </RefSect1>
  27. <RefSect1><Title>Questions de version</>
  28. <para>
  29. L'un des buts de ce fichier est de permettre à l'utilisateur de choisir
  30. quelle version d'un paquet il veut installer. On peut faire ce choix de
  31. plusieurs façons mais il est basé sur trois critères&nbsp;: la version,
  32. l'édition et l'origine.
  33. <para>
  34. Choisir la version peut se faire avec une recherche de correspondance sur une
  35. chaîne exacte ou bien sur une chaîne préfixée. Le format est&nbsp;: <literal/2.1.2/
  36. pour la première et <literal/2.2*/ pour la seconde. L'utilisation d'un préfixe
  37. permet d'ignorer le <literal/r/ du système d'ordonnancement des éditions
  38. (<literal/2.1r*/), ou bien d'ignorer les révisions propres à Debian
  39. (<literal/1.1-*/). Quand on compare des versions en se servant d'un préfixe,
  40. la version possédant le numéro le plus élevé est toujours choisie.
  41. <para>
  42. Choisir une édition de la distribution est plus compliqué et possède trois
  43. formes. Le but principal du choix d'une édition est d'identifier un ensemble de
  44. paquets qui corresponde à un vendeur particulier ou à une édition de la
  45. distribution (p.ex. Debian 2.1). Les deux premières formes sont des raccourcis
  46. pour une utilisation rapide en ligne de commande. Si le premier caractère de
  47. la chaîne est un chiffre, c'est une recherche fondée sur la version d'une
  48. édition&thinsp;; sinon, c'est une recherche sur le nom d'une édition. Quand la
  49. chaîne comporte des signes égal, c'est une recherche fondée sur une
  50. description complète de l'édition&thinsp;; cette chaîne est une liste de clés
  51. (une seule lettre) suivies d'un mot et séparées par une virgule. Exemples&nbsp;:
  52. <informalexample><programlisting>
  53. v=2.1*,o=Debian,c=main
  54. l=Debian
  55. a=stable
  56. </programlisting></informalexample>
  57. <para>
  58. Ces recherches utilisent des données prises dans les fichiers
  59. <filename/Release/ récupérés par APT pendant une mise à jour. Voici les
  60. clés disponibles&nbsp;:
  61. <VariableList>
  62. <VarListEntry><term>a= Archive</term>
  63. <ListItem><Para>
  64. C'est le nom habituel donné à nos archives, comme <literal/stable/ ou
  65. <literal/unstable/. Le nom spécial <literal/now/ désigne l'ensemble des
  66. paquets installés.
  67. </VarListEntry>
  68. <VarListEntry><term>c= Composant</term>
  69. <ListItem><Para>
  70. Indique un sous-composant de l'archive, tel que <literal/main/,
  71. <literal/contrib/, etc. Quand il n'y a pas de composant dans telle archive,
  72. on peut l'omettre.
  73. </VarListEntry>
  74. <VarListEntry><term>v= Version</term>
  75. <ListItem><Para>
  76. C'est la chaîne représentant la version&thinsp;; elle possède les mêmes
  77. caractéristiques que celle du fichier <filename/Packages/. C'est le niveau
  78. édition de l'archive. Les numéros d'une édition classique de la distribution
  79. Debian ressemblent à <literal/2.1r2/ où le r désigne une édition (release) de
  80. la distribution 2.1. Les nouvelles éditions sont limitées à des mises à
  81. jour concernant la sécurité.
  82. </VarListEntry>
  83. <VarListEntry><term>o= Origine</term>
  84. <ListItem><Para>
  85. Ce terme indique qui a fourni l'archive. Pour Debian, c'est <literal/Debian/.
  86. Les autres fournisseurs peuvent utiliser leur propre nom.
  87. </VarListEntry>
  88. <VarListEntry><term><term>l= Label</term>
  89. <ListItem><Para>
  90. Cela donne le nom général de la distribution. Pour Debian, c'est
  91. <literal/Debian/. Pour des distributions dérivées, ce terme doit être leur
  92. propre nom.
  93. </VarListEntry>
  94. </VariableList>
  95. <para>
  96. La dernière méthode est le choix de l'origine. C'est simplement le nom du site
  97. d'où proviennent les paquets. Une chaîne vide indique un URI de fichier.
  98. <para>
  99. Le choix d'une version, et en particulier les deux dernières méthodes,
  100. concerne plusieurs parties d'APT, pas seulement le fichier préférences.
  101. </RefSect1>
  102. <RefSect1><Title>Règles pour le choix d'une version</>
  103. <para>
  104. APT conserve une liste de toutes les versions disponibles de tous les
  105. paquets. Quand on indique plusieurs éditions ou vendeurs dans le fichier
  106. &sources-list;, tous ces éléments sont disponibles. APT choisit par défaut
  107. la version la plus récente parmi toutes ces sources automatiques. Quelques
  108. sources sont étiquetées Non Automatique, p.ex.
  109. <filename>project/experimental</> -- elles sont mises en bas de la pile de
  110. sélection.
  111. <para>
  112. Pour décider quelle version utiliser, APT affecte une priorité à toutes les
  113. versions disponibles d'un paquet. Puis il fait deux choses. Premièrement&nbsp;:
  114. il choisit, parmi les versions plus récentes que la version installée, la
  115. version qui possède la plus haute priorité&thinsp;; ensuite il choisit, parmi
  116. les versions plus anciennes que la version installée, celle qui possède la
  117. plus haute priorité. Deuxièmement&nbsp;: si les versions plus anciennes ont
  118. une priorité supérieure à 1000, il les compare avec la priorité que possède
  119. l'ensemble de mise à niveau&nbsp;: la plus grande est choisie. Autrement, les
  120. versions provoquant une régression sont ignorées et il choisit la plus grande
  121. priorité de l'ensemble de mise à niveau.
  122. <para>
  123. On peut penser le système de priorité en termes de strates&nbsp;:
  124. <VariableList>
  125. <VarListEntry><term>1000 et au-dessus</term>
  126. <ListItem><Para>
  127. Priorités permettant la régression
  128. </VarListEntry>
  129. <VarListEntry><term>1000</term>
  130. <ListItem><Para>
  131. La barrière pour empêcher la régression.
  132. </VarListEntry>
  133. <VarListEntry><term>de 100 à 1000</term>
  134. <ListItem><Para>
  135. Priorités standards. 990 est la priorité définie par l'option
  136. <option/--target-release / du programme &apt-get;. 989 est le début des
  137. priorités automatiques et 500 la priorité par défaut des fichiers d'un paquet.
  138. </VarListEntry>
  139. <VarListEntry><term>100</term>
  140. <ListItem><Para>
  141. Priorité de la version actuellement installée.
  142. </VarListEntry>
  143. <VarListEntry><term>de 0 à 100</term>
  144. <ListItem><Para>
  145. Priorités non automatiques. On s'en sert uniquement si le paquet n'est pas
  146. installé et s'il n'y a pas d'autre version disponible.
  147. </VarListEntry>
  148. <VarListEntry><term>inférieur à 0</term>
  149. <ListItem><Para>
  150. Priorité pour une version qui ne sera jamais sélectionnée.
  151. </VarListEntry>
  152. </VariableList>
  153. <para>
  154. Une priorité supérieure à 1000 donnée à une étiquette (pin) autorise une
  155. régression vers cette version.
  156. <para>
  157. On peut accrocher une étiquette à chaque paquet et chaque fichier
  158. <filename/Packages/ possède une priorité pour tous les paquets. La plus
  159. haute priorité affectée à un paquet est celle qui est utilisée.
  160. <para>
  161. Une étiquette de paquet est de cette forme&nbsp;:
  162. <informalexample><programlisting>
  163. Package: apt
  164. Pin: version 0.4.0
  165. Pin-Priority: 1001
  166. </programlisting></informalexample>
  167. La première ligne indique le paquet, la seconde donne le nom de l'étiquette
  168. et la dernière la priorité pour cette étiquette. Le premier mot du nom de
  169. l'étiquette peut être&nbsp;: version, release ou origin&thinsp;; le reste du
  170. champ est décrit plus haut dans la section «&nbsp;Règles pour le choix d'une
  171. version&nbsp;».
  172. <para>
  173. Une étiquette par défaut représente comment sont définies les priorités des
  174. fichiers d'un paquet. On peut spécifier autant d'étiquette par défaut qu'on
  175. veut&thinsp;; la première correspondant au défaut sélectionne la priorité pour
  176. les fichiers d'un paquet. Seuls «&nbsp;release&nbsp;» et «&nbsp;origin&nbsp;»
  177. peuvent être utilisés dans le nom de l'étiquette puisqu'ils correspondent aux
  178. fichiers <filename/Packages/.
  179. <informalexample><programlisting>
  180. Package: *
  181. Pin: release v=2.1*
  182. Pin-Priority: 998
  183. </programlisting></informalexample>
  184. <para>
  185. Quand le champ Pin-Priority manque, la priorité est par défaut de 989
  186. dans les deux cas.
  187. <RefSect2><title>Effets notables</>
  188. <para>
  189. À cause de la barrière empêchant les régressions (priorité 1000), il est
  190. possible qu'une version possédant une priorité inférieure soit choisie si
  191. une version possédant une priorité supérieure provoque une régression. Par
  192. exemple, le paquet foo possède les versions <literal/1.2/, <literal/1.1/
  193. et <literal/1.0/&thinsp;; <literal/1.1/ est la version installée&thinsp;; les
  194. priorités de chaque version sont&nbsp;: 900, 100 et 950 respectivement&nbsp;:
  195. la version <literal/1.2/ sera installée.
  196. <para>
  197. Dans la pratique, c'est ce qu'on veut&thinsp;! Un utilisateur utilisera une
  198. étiquette par défaut pour rendre la distribution «&nbsp;stable&nbsp;» la
  199. distribution par défaut&thinsp;; il utilisera ensuite l'option
  200. <option/--target-dist/ avec &apt-get; pour choisir de nouvelles versions dans
  201. «&nbsp;unstable&nbsp;». Les paquets mis à niveau avec «&nbsp;unstable&nbsp;»
  202. suivront les versions disponibles dans «&nbsp;unstable&nbsp;» puisque les
  203. versions de «&nbsp;stable&nbsp;» sont maintenant passées
  204. sous la barrière empêchant la régression.
  205. <para>
  206. Si on ne le veut pas, on doit utiliser une étiquette par défaut qui donne
  207. à «&nbsp;unstable&nbsp;» une priorité inférieure à 100.
  208. <para>
  209. Ceux qui utilisent des suppléments venant de tiers comme Helix GNOME peuvent
  210. se servir de ce procédé pour obtenir des paquets Helix&thinsp;; ils peuvent
  211. forcer l'utilisation des paquets Debian en définissant la priorité de cette
  212. source suffisamment haut. On peut même réaliser une régression massive d'un
  213. ensemble de paquets à un autre en utilisant une priorité supérieure à 1000.
  214. </RefSect2>
  215. </RefSect1>
  216. <RefSect1><Title>Voir aussi</>
  217. <para>
  218. &apt-cache; &apt-conf;
  219. </RefSect1>
  220. &manbugs;
  221. &manauthor;
  222. &traducteur;
  223. </refentry>