Download Debian Reference

Transcript
Chapter 2. Debian fundamentals
16
Note that dselect has more fine-grained control over packages specified by Recommends
and Suggests than apt-get, which simply pulls all the packages specified by Depends and
leaves all the packages specified by Recommends and Suggests. Both programs in modern
form use APT as their back end.
2.2.9
The meaning of “Pre-Depends”
dpkg always configures a package upon which another package Depends before it configures
the package that Depends on it. However, dpkg normally unpacks archive files in arbitrary
order, independently of dependencies. (Unpacking consists of extracting files from the archive
file and putting them in the right place.) If, however, a package Pre-Depends on another
then the other package is unpacked and configured before the one that Pre-Depends is even
unpacked. 2 The use of this dependency is kept to a minimum.
2.2.10 Package status
Package status can be “unknown”, “install”, “remove”, “purge”, or “hold”. These “want” flags
indicate what the user wanted to do with a package (either by making choices in the “Select”
section of dselect, or by directly invoking dpkg).
Their meanings are:
• unknown - the user has never indicated whether he wants the package.
• install - the user wants the package installed or upgraded.
• remove - the user wants the package removed, but does not want to remove any existing
configuration files.
• purge - the user wants the package to be removed completely, including its configuration
files.
• hold - the user wants this package not to be processed, i.e., he wants to keep the current
version with the current status, whatever that is.
2.2.11
Holding back packages from an upgrade
There are two mechanisms for holding back packages from an upgrade, through dpkg, or,
beginning with Woody, through APT.
With dpkg, first export the list of package selections:
dpkg --get-selections \* > selections.txt
Then edit the resulting file selections.txt, changing the line containing the package you
wish to hold, e.g. libc6, from this:
2
This mechanism was provided in order to support safe upgrading of systems from a.out format to ELF
format, where the order in which packages were unpacked was critical.