X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/2d4aa48a2e3e493780a797b828a04066ef1994fa..4bec02c237e8e218bc7d4bcf7142e0450480138b:/doc/apt_preferences.5.xml
diff --git a/doc/apt_preferences.5.xml b/doc/apt_preferences.5.xml
index 12ea606b7..abcf56744 100644
--- a/doc/apt_preferences.5.xml
+++ b/doc/apt_preferences.5.xml
@@ -14,7 +14,7 @@
&apt-email;
&apt-product;
- 04 May 2009
+ 16 February 2010
@@ -32,7 +32,8 @@
Description
The APT preferences file /etc/apt/preferences
-can be used to control which versions of packages will be selected
+and the fragment files in the /etc/apt/preferences.d/
+folder can be used to control which versions of packages will be selected
for installation.
Several versions of a package may be available for installation when
@@ -52,6 +53,24 @@ earliest in the &sources-list; file.
The APT preferences file does not affect the choice of instance, only
the choice of version.
+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.
+
+Note that the files in the /etc/apt/preferences.d
+directory are parsed in alphanumeric ascending order and need to obey the
+following naming convention: The files have no or "pref"
+as filename extension and which only contain alphanumeric, hyphen (-),
+underscore (_) and period (.) characters - otherwise they will be silently
+ignored.
+
APT's Default Priority Assignments
If there is no preferences file or if there is no entry in the file
@@ -78,6 +97,12 @@ APT::Default-Release "stable";
algorithm to set the priorities of the versions of a package. Assign:
+
+priority 1
+to the versions coming from archives which in their Release
+files are marked as "NotAutomatic: yes" like the debian experimental archive.
+
+
priority 100
to the version that is already installed (if any).
@@ -97,7 +122,9 @@ algorithm to set the priorities of the versions of a package. Assign:
If the target release has not been specified then APT simply assigns
priority 100 to all installed package versions and priority 500 to all
-uninstalled package versions.
+uninstalled package versions, expect versions coming from archives which
+in their Release files are marked as "NotAutomatic: yes" -
+these versions get the priority 1.
APT then applies the following rules, listed in order of precedence,
to determine which version of a package to install.
@@ -176,8 +203,15 @@ Pin: origin ""
Pin-Priority: 999
-A note of caution: the keyword used here is "origin".
-This should not be confused with the Origin of a distribution as
+A note of caution: the keyword used here is "origin"
+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"
+
+Package: *
+Pin: origin "ftp.de.debian.org"
+Pin-Priority: 999
+
+This should not be confused with the Origin of a distribution as
specified in a Release file. What follows the "Origin:" tag
in a Release file is not an Internet address
but an author or vendor name, such as "Debian" or "Ximian".
@@ -192,11 +226,11 @@ Pin-Priority: 50
The following record assigns a high priority to all package versions
-belonging to any distribution whose Codename is "squeeze".
+belonging to any distribution whose Codename is "&testing-codename;".
Package: *
-Pin: release n=squeeze
+Pin: release n=&testing-codename;
Pin-Priority: 900
@@ -329,7 +363,7 @@ APT priorities:
The Release file is normally found in the directory
.../dists/dist-name:
for example, .../dists/stable/Release,
-or .../dists/woody/Release.
+or .../dists/&stable-codename;/Release.
It consists of a single multi-line record which applies to all of
the packages in the directory tree below its parent. Unlike the
Packages file, nearly all of the lines in a Release
@@ -357,14 +391,14 @@ Pin: release a=stable
the Codename: line
names the codename to which all the packages
in the directory tree belong. For example, the line
-"Codename: squeeze"
+"Codename: &testing-codename;"
specifies that all of the packages in the directory
tree below the parent of the Release file belong to a version named
-squeeze. Specifying this value in the APT preferences file
+&testing-codename;. Specifying this value in the APT preferences file
would require the line:
-Pin: release n=squeeze
+Pin: release n=&testing-codename;
@@ -450,10 +484,6 @@ distribution.
Each record in the APT preferences file can optionally begin with
one or more lines beginning with the word Explanation:.
This provides a place for comments.
-
-The Pin-Priority: line in each APT preferences record is
-optional. If omitted, APT assigns a priority of 1 less than the last value
-specified on a line beginning with Pin-Priority: release ....
@@ -568,14 +598,14 @@ the example configurations above.
Explanation: Uninstall or do not install any Debian-originated package versions
-Explanation: other than those in the distribution codenamed with squeeze or sid
+Explanation: other than those in the distribution codenamed with &testing-codename; or sid
Package: *
-Pin: release n=squeeze
+Pin: release n=&testing-codename;
Pin-Priority: 900
Explanation: Debian unstable is always codenamed with sid
Package: *
-Pin: release a=sid
+Pin: release n=sid
Pin-Priority: 800
Package: *
@@ -586,7 +616,7 @@ Pin-Priority: -10
With a suitable &sources-list; file and the above preferences file,
any of the following commands will cause APT to upgrade to the
-latest version(s) in the release codenamed with squeeze.
+latest version(s) in the release codenamed with &testing-codename;.
apt-get install package-name
@@ -598,7 +628,7 @@ apt-get dist-upgrade
The following command will cause APT to upgrade the specified
package to the latest version from the sid distribution.
Thereafter, apt-get upgrade will upgrade
-the package to the most recent squeeze version if that is
+the package to the most recent &testing-codename; version if that is
more recent than the installed version, otherwise, to the most recent
sid version if that is more recent than the installed
version.
@@ -610,6 +640,13 @@ apt-get install package/sid
+
+Files
+
+ &file-preferences;
+
+
+
See Also
&apt-get; &apt-cache; &apt-conf; &sources-list;