Provided by:
apt_0.8.16~exp12ubuntu10_i386 
NAME
apt_preferences - APT
APT /etc/apt/preferences /etc/apt/preferences.d/
sources.list(5) (stable testing ) APT apt-get APT APT
sources.list(5) apt-get sources.list(5) APT
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 either no or "pref" as filename extension
and only contain alphanumeric, hyphen (-), underscore (_) and period
(.) characters. Otherwise APT will print a notice that it has ignored a
file if the file doesn't match a pattern in the
Dir::Ignore-Files-Silently configuration list - in this case it will be
silently ignored.
APT
/etc/apt/preferences pin
apt-get install -t testing some-package
APT::Default-Release "stable";
APT .PP priority 1
to the versions coming from archives which in their Release files
are marked as "NotAutomatic: yes" but not as "ButAutomaticUpgrades:
yes" like the debian experimental archive.
priority 100
to the version that is already installed (if any) and to the
versions coming from archives which in their Release files are
marked as "NotAutomatic: yes" and "ButAutomaticUpgrades: yes" like
the debian backports archive since squeeze-backports.
priority 500
priority 990
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, except versions coming from archives
which in their Release files are marked as "NotAutomatic: yes" - these
versions get the priority 1 or priority 100 if it is additionally
marked as "ButAutomaticUpgrades: yes".
APT
o 1000 (APT 1000 )
o
o ()
o --reinstall
( 100) sources.list(5) ( 500 990) apt-get install some-package
apt-get upgrade
apt-get install some-package apt-get upgrade
apt-get install some-package apt-get upgrade
APT
APT
o ("Pin-Priority") () "5.8" perl
Package: perl
Pin: version 5.8*
Pin-Priority: 1001
o (Release ) FQDN
APT
Package: *
Pin: origin ""
Pin-Priority: 999
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".
"unstable"
Package: *
Pin: release a=unstable
Pin-Priority: 50
The following record assigns a high priority to all package
versions belonging to any distribution whose Codename is "wheezy".
Package: *
Pin: release n=wheezy
Pin-Priority: 900
"stable" "3.0"
Package: *
Pin: release a=stable, v=3.0
Pin-Priority: 500
Regular expressions and glob() syntax
APT also supports pinning by glob() expressions and regular expressions
surrounded by /. For example, the following example assigns the
priority 500 to all packages from experimental where the name starts
with gnome (as a glob()-like expression) or contains the word kde (as a
POSIX extended regular expression surrounded by slashes).
Package: gnome* /kde/
Pin: release n=experimental
Pin-Priority: 500
The rule for those expressions is that they can occur anywhere where a
string can occur. Thus, the following pin assigns the priority 990 to
all packages from a release starting with karmic.
Package: *
Pin: release n=karmic*
Pin-Priority: 990
If a regular expression occurs in a Package field, the behavior is the
same as if this regular expression were replaced with a list of all
package names it matches. It is undecided whether this will change in
the future, thus you should always list wild-card pins first, so later
specific pins override it.
The pattern "*" in a Package field is not considered a glob()
expression in itself.
APT
APT (P) () .PP P > 1000
990 < P <=1000
500 < P <=990
100 < P <=500
0 < P <=100
P < 0
APT
Package: perl
Pin: version 5.8*
Pin-Priority: 1001
Package: *
Pin: origin ""
Pin-Priority: 999
Package: *
Pin: release unstable
Pin-Priority: 50
o "5.8" perl 5.8* 5.9* perl
o perl ()
o sources.list(5) unstable
sources.list(5) Packages Release
Packages .../dists/dist-name/component/arch
.../dists/stable/main/binary-i386/Packages APT 2 .PP Package:
Version:
The Release file is normally found in the directory
.../dists/dist-name: for example, .../dists/stable/Release, or
.../dists/squeeze/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
file are relevant for setting APT priorities:
Archive: Suite:
"Archive: stable" "Suite: stable" Release stable APT
Pin: release a=stable
Codename:
names the codename to which all the packages in the directory tree
belong. For example, the line "Codename: wheezy" specifies that all
of the packages in the directory tree below the parent of the
Release file belong to a version named wheezy. Specifying this
value in the APT preferences file would require the line:
Pin: release n=wheezy
Version:
GNU/Linux 3.0 testing unstable APT
Pin: release v=3.0
Pin: release a=stable, v=3.0
Pin: release 3.0
Component:
Release "Component: main" main (Debian ) APT
Pin: release c=main
Origin:
Release Debian APT
Pin: release o=Debian
Label:
Release Debian APT
Pin: release l=Debian
sources.list(5) Packages Release /var/lib/apt/lists apt.conf
Dir::State::Lists
debian.lcs.mit.edu_debian_dists_unstable_contrib_binary-i386_Release
debian.lcs.mit.edu unstable contrib binary-i386 Release
APT
APT Explanation:
APT stable (500) Debian
Explanation: Uninstall or do not install any Debian-originated
Explanation: package versions other than those in the stable distro
Package: *
Pin: release a=stable
Pin-Priority: 900
Package: *
Pin: release o=Debian
Pin-Priority: -10
sources.list(5) stable
apt-get install package-name
apt-get upgrade
apt-get dist-upgrade
testing
apt-get install package/testing
APT testing unstable Debian
Package: *
Pin: release a=testing
Pin-Priority: 900
Package: *
Pin: release a=unstable
Pin-Priority: 800
Package: *
Pin: release o=Debian
Pin-Priority: -10
sources.list(5) testing
apt-get install package-name
apt-get upgrade
apt-get dist-upgrade
unstable apt-get upgrade testing testing unstable unstable
apt-get install package/unstable
APT (500) Debian APT APT testing stable oldstable testing
Explanation: Uninstall or do not install any Debian-originated package versions
Explanation: other than those in the distribution codenamed with wheezy or sid
Package: *
Pin: release n=wheezy
Pin-Priority: 900
Explanation: Debian unstable is always codenamed with sid
Package: *
Pin: release n=sid
Pin-Priority: 800
Package: *
Pin: release o=Debian
Pin-Priority: -10
sources.list(5) wheezy
apt-get install package-name
apt-get upgrade
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 wheezy 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.
apt-get install package/sid
/etc/apt/preferences
"pinning" - Dir::Etc::Preferences
/etc/apt/preferences.d/
- Dir::Etc::PreferencesParts
apt-get(8) apt-cache(8) apt.conf(5) sources.list(5)
APT [1] APT /usr/share/doc/debian/bug-reporting.txt reportbug(1)
<nabetaro@debian.or.jp> (2003-2006,2009-2010), Debian JP Documentation
ML <debian-doc@debian.or.jp>
AUTHOR
APT
NOTES
1. APT
http://bugs.debian.org/src:apt