<!-- -*- 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>