Bonjour, voici la traduction d'une des pages de manuel d' Apt. C'est la version 1.6 du cvs d'apt, version totalement remaniée. Merci pour les relectures. ...
Est-ce que les pages en français ont été intégrées au paquet ? a+ -- Philippe Batailler in girum imus nocte et consumimur igni
<!-- -*- mode: sgml; mode: fold -*- --> <!-- translation of version 1.6 --> <!doctype refentry PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [ <!ENTITY % aptent SYSTEM "apt.ent"> %aptent; ]> <refentry> &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 et indiquant des préférences</> </refnamediv> <RefSect1><Title>Description</> <para> Le fichier d'APT, <filename>/etc/apt/preferences</>, 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 ; et, si ce fichier 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. Apt affecte une priorité à chaque exemplaire disponible. (Dans ce qui suit, un exemplaire est l' exemplaire d'un paquet disponible selon le fichier &sources-list;.) La commande <command>apt-get</command>, tenant compte des contraintes de dépendance, installe l'exemplaire possédant la plus haute priorité. Si deux exemplaires ont la même priorité, elle installe l'exemplaire le plus récent, c'est-à-dire celui qui possède le numéro de version le plus haut. </para> <para>Le fichier des préférences annule les priorités assignées par défaut aux exemplaires des paquets : ainsi l'utilisateur peut choisir l'exemplaire qu'il veut installer. </para> <RefSect2><Title>Les priorités assignées par défaut</> <para>Quand le fichier des préférences n'existe pas, ou quand aucune entrée de ce fichier ne s'applique à un exemplaire précis, la priorité affectée à cet exemplaire est la priorité de la distribution à laquelle il appartient. On peut distinguer une distribution et lui donner une priorité plus haute que celle des autres distributions : on l'appelle la distribution par défaut ou « target release » 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 : <programlisting> # Commande pour installer la version <literal/testing/ d'un <replaceable>paquet</replaceable> <command>apt-get install -t testing <replaceable>paquet</replaceable></command> </programlisting> <programlisting> # Utiliser le fichier de configuration pour rendre la distribution <literal/stable/ la distribution par defaut (ou « target release ») 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 exemplaires d'un paquet : <variablelist> <varlistentry> <term>une priorité égale à 100</term> <listitem><simpara>est affectée à l'exemplaire déjà installé (s'il existe). </simpara></listitem> </varlistentry> <varlistentry> <term>une priorité égale à 500</term> <listitem><simpara>est affectée aux exemplaires qui ne sont pas installés 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 exemplaires qui ne sont pas installés 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 à tout exemplaire installé d'un paquet et une priorité égale à 500 à tout exemplaire non installé d'un paquet. </para> <para>Puis APT applique les règles suivantes pour déterminer l'exemplaire du paquet qu'il faut installer (elles sont listées par ordre de priorité) : <itemizedlist> <listitem><simpara>Ne jamais revenir en arrière, sauf si la priorité d'un exemplaire disponible dépasse 1000. (« Revenir en arrière » 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 ; de telles valeurs ne peuvent être définies que dans le fichier des préférences.) </simpara></listitem> <listitem><simpara>Installer l'exemplaire qui possède la priorité la plus haute. </simpara></listitem> <listitem><simpara>Quand deux (ou plus) exemplaires ont la même priorité, installer l'exemplaire le plus récent. </simpara></listitem> <listitem><simpara>Quand deux (ou plus) exemplaires ont le même numéro de version, installer l'exemplaire dont la source est listée en premier dans &sources-list;. (L'exemplaire installé, s'il existe, est toujours choisi dans une telle comparaison, sauf si la commande <command>apt-get --reinstall</command> est utilisée.) </simpara></listitem> </itemizedlist> </para> <para>En général, l'exemplaire installé d'un paquet (priorité 100) n'est pas aussi récent que l'un des exemplaires 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 : <command>apt-get install</command> ou <command>apt-get dist-upgrade</command>. </para> <para>L'exemplaire installé d'un paquet peut être - rarement - <emphasis/plus/ récent que tout autre exemplaire disponible. Pas de retour en arrière. </para> <para>Parfois, l'exemplaire installé d'un paquet est plus récent que la version appartenant à la distribution par défaut, mais moins récent que la version appartenant à une autre distribution. Un tel exemplaire sera mis à niveau car au moins <emphasis/l'un/ des exemplaires disponibles possède une plus haute priorité que la sienne. </para> </RefSect2> <RefSect2><Title>Conséquences des préférences</> <para>Le fichier des préférences permet à l'administrateur-système de choisir ses 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/ dont le numéro de version commence par <literal/5.8/. </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/), ou à toutes les versions d'un paquet provenant d'un site internet identifié par un nom pleinement 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 à tous les exemplaires disponibles dans le site local. </simpara> <programlisting> Package: * Pin: origin "" Pin-Priority: 999 </programlisting> <simpara>Attention ! le mot-clé utilisé ici, <literal/origin/, ne doit pas être confondu avec l'« Origin: » d'une distribution indiqué dans un fichier <filename/Release/. Ce qui suit l'étiquette « Origin: » dans un fichier <filename/Release/ n'est pas l'adresse d'un site internet mais le nom d'un auteur ou d'un vendeur, comme Debian ou Ximian. </simpara> <simpara>L'entrée suivante affecte une priorité basse à toutes les versions d'un paquet appartenant à tout distribution dont le nom d'« Archive » (<literal/a/) est <literal/unstable/. </simpara> <programlisting> Package: * Pin: release a=unstable Pin-Priority: 50 </programlisting> <simpara>L'entrée suivante affecte une priorité haute à toutes les versions d'un paquet appartenant à toute distribution dont le nom d'« Archive » (<literal/a/) est <literal/stable/ et dont le numéro de « Version » (<literal/v/) est <literal/3.0/. </simpara> <programlisting> Package: * Pin: release a=stable, v=3.0 Pin-Priority: 50 </programlisting> </listitem> </itemizedlist> </para> </RefSect2> <RefSect2><Title>Comment APT interprète-t-il les priorités&nsp;?</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 comme suit : <variablelist> <varlistentry><term>P > 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 < P <=1000</term> <listitem><simpara>L'exemplaire sera installé, même s'il n'appartient pas à la distribution par défaut ; mais il ne sera pas installé si l'exemplaire installé est plus récent. </simpara></listitem> </varlistentry> <varlistentry><term>500 < P <=990</term> <listitem><simpara>L'exemplaire sera installé, sauf s'il existe un exemplaire appartenant à la distribution par défaut ou si la version installée est plus récente. </simpara></listitem> </varlistentry> <varlistentry><term>100 < P <=500</term> <listitem><simpara>L'exemplaire sera installé, sauf s'il existe un exemplaire appartenant à une autre distribution ou si la version installée est plus récente. </simpara></listitem> <varlistentry><term>0 <= P <=100</term> <listitem><simpara> L'exemplaire sera installé si aucun exemplaire du paquet n'est installé. </simpara></listitem> </varlistentry> <varlistentry><term>P < 0</term> <listitem><simpara>Cette priorité empêche l'installation de l'exemplaire. </simpara></listitem> </varlistentry> </variablelist> </para> <para>Si l'une des entrées de forme particulière correspond à l'exemplaire disponible d'un paquet, cette entrée détermine la priorité de cet exemplaire. Si deux entrées de forme particulière correspondent à l'exemplaire disponible d'un paquet, la première entrée rencontrée détermine la priorité. Si deux entrées de forme générale correspondent à l'exemplaire disponible d'un paquet, la première entrée rencontrée détermine la priorité. </para> <para>Supposons par exemple que le fichier des préférences contienne les trois entrées décrites plus haut : <programlisting> Package: perl Pin: version 5.8* Pin-Priority: 1001 Package: * Pin: origin "" Pin-Priority: 999 Package: * Pin: release unstable Pin-Priority: 50 </programlisting> Alors : <itemizedlist> <listitem><simpara> La version la plus récente du paquet <literal/perl/ sera installé pour autant que son numéro de version commence par <literal/5.8/. Si l'<emphasis/une/ 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 exemplaires des paquets (autres que <literal/perl/) disponibles dans le site local ont priorité sur les autres exemplaires, même ceux appartenant à la distribution par défaut. </simpara></listitem> <listitem><simpara> L'exemplaire 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/, ne sera installé que si aucun exemplaire du paquet n'est déjà installé. </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 exemplaires des 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 : <variablelist> <varlistentry> <term>La ligne <literal/Package:/ </term> <listitem><simpara>donne le nom du paquet</simpara></listitem> </varlistentry> <varlistentry> <term>La ligne <literal/Version:/ </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/ les exemplaires des paquets situés dans les répertoires sous le répertoire parent. Contrairement au fichier <filename/Packages/, presque toutes les lignes du fichier <filename/Release/ sont pertinentes pour déterminer les priorités : <variablelist> <varlistentry> <term>La ligne <literal/Archive:/ </term> <listitem><simpara>nomme l'archive à laquelle appartiennent tous les exemplaires des paquets situés dans les répertoires. Par exemple, la ligne <literal/Archive: stable/ indique que tous les paquets dans les répertoires situés sous le répertoire parent du fichier <filename/Release/ appartiennent à l'archive <literal/stable/. Indiquer cette valeur dans le fichier des préférences demanderait cette ligne : </simpara> <programlisting> Pin: release a=stable </programlisting> </listitem> </varlistentry> <varlistentry> <term>La ligne <literal/Version:/ </term> <listitem><simpara>indique la version de la distribution. Par exemple, les exemplaires des 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 testing et unstable car elles n'ont pas encore été publiées. Indiquer cette valeur dans le fichier des préférences demanderait cette ligne : </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:/</term> <listitem><simpara>nomme un composant qui indique le type de licence associé aux exemplaires situés dans les répertoires sous le fichier <filename/Release/. Par exemple, la ligne <literal/Component: main/ indique que tous les exemplaires dans les répertoires appartiennent au composant <literal/main/, 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 : </simpara> <programlisting> Pin: release c=main </programlisting> </listitem> </varlistentry> <varlistentry> <term>La ligne <literal/Origin:/ </term> <listitem><simpara>nomme le producteur des exemplaires des paquets situés dans les répertoires sous le fichier <filename/Release/. En général, c'est <literal/Debian/. Indiquer cette origine dans le fichier des préférences demanderait cette ligne : </simpara> <programlisting> Pin: release o=Debian </programlisting> </listitem> </varlistentry> <varlistentry> <term>La ligne <literal/Label:/ </term> <listitem><simpara>semble redondante. En général, c'est <literal/Debian/. Indiquer cette origine dans le fichier des préférences demanderait cette ligne : </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/ dans le fichier <filename/apt.conf/. 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/, architecture <literal/binary-i386/ et composant <literal/contrib/ de la distribution <literal/unstable/. </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:/. Cela permet de commenter l'entrée. </para> <para>La ligne <literal/Pin-Priority:/ 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 .../. </para> </RefSect2> </RefSect1> <RefSect1><Title>Exemples</> <RefSect2><Title>Comment suivre Stable ?</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/ et une priorité prohibitivement basse à tous les exemplaires appartenant à d'autres distributions <literal/Debian/. <programlisting> Package: * Pin: release a=stable Pin-Priority: 900 Explanation: Uninstall or do not install any Debian-originated Explanation: instances other than those in the stable distro 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/ pour faire la mise à niveau : <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/ pour mettre à niveau le paquet spécifié ; cependant les mises à niveau ultérieures ne se feront pas automatiquement. <programlisting> apt-get install <replaceable>paquet</replaceable>/testing </programlisting> </RefSect2> <RefSect2><Title>Comment suivre Testing ?</Title> <para>Le fichier des préférences suivant affecte une priorité haute aux versions des paquets appartenant à la distribution <literal/testing/, une priorité moindre aux versions appartenant à la distribution <literal/unstable/ et une priorité prohibitivement basse aux versions appartenant à d'autres distributions <literal/Debian/. <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 le fichier des préférences ci-dessus, les commandes suivantes utiliseront les versions les plus récentes de <literal/testing/ pour faire la mise à niveau : <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/ pour mettre à niveau le paquet spécifié ; Par la suite, <command>apt-get dist-upgrade</command> et les autres commandes <emphasis/utiliseront/ les versions les plus récentes de <literal/unstable/ pour mettre à niveau le paquet. <programlisting> apt-get install <replaceable>paquet</replaceable>/unstable </programlisting> </para> </RefSect2> </RefSect1> <RefSect1><Title>See Also</> <para> &apt-get; &apt-cache; &apt-conf; &sources-list; </RefSect1> &manbugs; &manauthor; &traducteur; </refentry>