&apt-email;
&apt-product;
<!-- The last update date -->
- <date>04 May 2009</date>
+ <date>16 February 2010</date>
</refentryinfo>
<refmeta>
<refentrytitle>apt_preferences</refentrytitle>
<manvolnum>5</manvolnum>
+ <refmiscinfo class="manual">APT</refmiscinfo>
</refmeta>
<!-- Man page title -->
<refsect1>
<title>Description</title>
<para>The APT preferences file <filename>/etc/apt/preferences</filename>
-can be used to control which versions of packages will be selected
+and the fragment files in the <filename>/etc/apt/preferences.d/</filename>
+folder can be used to control which versions of packages will be selected
for installation.</para>
<para>Several versions of a package may be available for installation when
The APT preferences file does not affect the choice of instance, only
the choice of version.</para>
+<para>Preferences are a strong power in the hands of a system administrator
+but they can become also their biggest nightmare if used without care!
+APT will not questioning the preferences so wrong settings will therefore
+lead to uninstallable packages or wrong decisions while upgrading packages.
+Even more problems will arise if multiply distribution releases are mixed
+without a good understanding of the following paragraphs.
+Packages included in a specific release aren't tested in and
+therefore doesn't always work as expected in older or newer releases or
+together with other packages from different releases.
+You have been warned.</para>
+
+<para>Note that the files in the <filename>/etc/apt/preferences.d</filename>
+directory are parsed in alphanumeric ascending order and need to obey the
+following naming convention: The files have no or "<literal>pref</literal>"
+as filename extension and which only contain alphanumeric, hyphen (-),
+underscore (_) and period (.) characters - otherwise they will be silently
+ignored.</para>
+
<refsect2><title>APT's Default Priority Assignments</title>
<para>If there is no preferences file or if there is no entry in the file
Pin-Priority: 999
</programlisting>
-<simpara>A note of caution: the keyword used here is "<literal>origin</literal>".
-This should not be confused with the Origin of a distribution as
+<simpara>A note of caution: the keyword used here is "<literal>origin</literal>"
+which can be used to match a hostname. The following record will assign a high priority
+to all versions available from the server identified by the hostname "ftp.de.debian.org"</simpara>
+<programlisting>
+Package: *
+Pin: origin "ftp.de.debian.org"
+Pin-Priority: 999
+</programlisting>
+<simpara>This should <emphasis>not</emphasis> be confused with the Origin of a distribution as
specified in a <filename>Release</filename> file. What follows the "Origin:" tag
in a <filename>Release</filename> file is not an Internet address
but an author or vendor name, such as "Debian" or "Ximian".</simpara>
Explanation: Debian unstable is always codenamed with sid
Package: *
-Pin: release a=sid
+Pin: release n=sid
Pin-Priority: 800
Package: *
</refsect2>
</refsect1>
+<refsect1>
+<title>Files</title>
+ <variablelist>
+ &file-preferences;
+ </variablelist>
+</refsect1>
+
<refsect1>
<title>See Also</title>
<para>&apt-get; &apt-cache; &apt-conf; &sources-list;