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.