NAME
apt.conf - Configuration file for APT
DESCRIPTION
apt.conf is the main configuration file for the APT suite of tools, but
by far not the only place changes to options can be made. All tools
therefore share the configuration files and also use a common command
line parser to provide a uniform environment.
When an APT tool starts up it will read the configuration files in the
following order:
1. the file specified by the APT_CONFIG environment variable (if any)
2. all files in Dir::Etc::Parts in alphanumeric ascending order which
have no or "conf" as filename extension and which only contain
alphanumeric, hyphen (-), underscore (_) and period (.) characters
- otherwise they will be silently ignored.
3. the main configuration file specified by Dir::Etc::main
4. the command line options are applied to override the configuration
directives or to load even more configuration files.
SYNTAX
The configuration file is organized in a tree with options organized
into functional groups. Option specification is given with a double
colon notation, for instance APT::Get::Assume-Yes is an option within
the APT tool group, for the Get tool. Options do not inherit from their
parent groups.
Syntactically the configuration language is modeled after what the ISC
tools such as bind and dhcp use. Lines starting with // are treated as
comments (ignored), as well as all text between /* and */, just like
C/C++ comments. Each line is of the form APT::Get::Assume-Yes "true";.
The trailing semicolon and the quotes are required. The value must be
on one line, and there is no kind of string concatenation. It must not
include inside quotes. The behavior of the backslash "\" and escaped
characters inside a value is undefined and it should not be used. An
option name may include alphanumerical characters and the "/-:._+"
characters. A new scope can be opened with curly braces, like:
APT {
Get {
Assume-Yes "true";
Fix-Broken "true";
};
};
with newlines placed to make it more readable. Lists can be created by
opening a scope and including a single string enclosed in quotes
followed by a semicolon. Multiple entries can be included, each
separated by a semicolon.
DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
In general the sample configuration file in
/usr/share/doc/apt/examples/apt.conf
/usr/share/doc/apt/examples/configure-index.gz is a good guide for how
it should look.
The names of the configuration items are not case-sensitive. So in the
previous example you could use dpkg::pre-install-pkgs.
Names for the configuration items are optional if a list is defined as
it can be see in the DPkg::Pre-Install-Pkgs example above. If you don't
specify a name a new entry will simply add a new option to the list. If
you specify a name you can override the option as every other option by
reassigning a new value to the option.
Two specials are allowed, #include (which is deprecated and not
supported by alternative implementations) and #clear: #include will
include the given file, unless the filename ends in a slash, then the
whole directory is included. #clear is used to erase a part of the
configuration tree. The specified element and all its descendants are
erased. (Note that these lines also need to end with a semicolon.)
The #clear command is the only way to delete a list or a complete
scope. Reopening a scope or the ::-style described below will not
override previously written entries. Only options can be overridden by
addressing a new value to it - lists and scopes can't be overridden,
only cleared.
All of the APT tools take a -o option which allows an arbitrary
configuration directive to be specified on the command line. The syntax
is a full option name (APT::Get::Assume-Yes for instance) followed by
an equals sign then the new value of the option. Lists can be appended
too by adding a trailing :: to the list name. (As you might suspect:
The scope syntax can't be used on the command line.)
Note that you can use :: only for appending one item per line to a list
and that you should not use it in combination with the scope syntax.
(The scope syntax implicit insert ::) Using both syntaxes together will
trigger a bug which some users unfortunately relay on: An option with
the unusual name "::" which acts like every other option with a name.
These introduces many problems including that a user who writes
multiple lines in this wrong syntax in the hope to append to a list
will gain the opposite as only the last assignment for this option "::"
will be used. Upcoming APT versions will raise errors and will stop
working if they encounter this misuse, so please correct such
statements now as long as APT doesn't complain explicit about them.
THE APT GROUP
This group of options controls general APT behavior as well as holding
the options for all of the tools.
Architecture
System Architecture; sets the architecture to use when fetching
files and parsing package lists. The internal default is the
architecture apt was compiled for.
Default-Release
Default release to install packages from if more than one version
available. Contains release name, codename or release version.
Examples: 'stable', 'testing', 'unstable', 'lenny', 'squeeze',
'4.0', '5.0*'. See also apt_preferences(5).
Ignore-Hold
Ignore Held packages; This global option causes the problem
resolver to ignore held packages in its decision making.
Clean-Installed
Defaults to on. When turned on the autoclean feature will remove
any packages which can no longer be downloaded from the cache. If
turned off then packages that are locally installed are also
excluded from cleaning - but note that APT provides no direct means
to reinstall them.
Immediate-Configure
Defaults to on which will cause APT to install essential and
important packages as fast as possible in the install/upgrade
operation. This is done to limit the effect of a failing dpkg(1)
call: If this option is disabled APT does treat an important
package in the same way as an extra package: Between the unpacking
of the important package A and his configuration can then be many
other unpack or configuration calls, e.g. for package B which has
no relation to A, but causes the dpkg call to fail (e.g. because
maintainer script of package B generates an error) which results in
a system state in which package A is unpacked but unconfigured -
each package depending on A is now no longer guaranteed to work as
their dependency on A is not longer satisfied. The immediate
configuration marker is also applied to all dependencies which can
generate a problem if the dependencies e.g. form a circle as a
dependency with the immediate flag is comparable with a
Pre-Dependency. So in theory it is possible that APT encounters a
situation in which it is unable to perform immediate configuration,
errors out and refers to this option so the user can deactivate the
immediate configuration temporarily to be able to perform an
install/upgrade again. Note the use of the word "theory" here as
this problem was only encountered by now in real world a few times
in non-stable distribution versions and was caused by wrong
dependencies of the package in question or by a system in an
already broken state, so you should not blindly disable this option
as the mentioned scenario above is not the only problem immediate
configuration can help to prevent in the first place. Before a big
operation like dist-upgrade is run with this option disabled it
should be tried to explicitly install the package APT is unable to
configure immediately, but please make sure to report your problem
also to your distribution and to the APT team with the buglink
below so they can work on improving or correcting the upgrade
process.
Force-LoopBreak
Never Enable this option unless you -really- know what you are
doing. It permits APT to temporarily remove an essential package to
break a Conflicts/Conflicts or Conflicts/Pre-Depend loop between
two essential packages. SUCH A LOOP SHOULD NEVER EXIST AND IS A
GRAVE BUG. This option will work if the essential packages are not
tar, gzip, libc, dpkg, bash or anything that those packages depend
on.
Cache-Start, Cache-Grow and Cache-Limit
APT uses since version 0.7.26 a resizable memory mapped cache file
to store the 'available' information. Cache-Start acts as a hint
to which size the Cache will grow and is therefore the amount of
memory APT will request at startup. The default value is 20971520
bytes (~20 MB). Note that these amount of space need to be
available for APT otherwise it will likely fail ungracefully, so
for memory restricted devices these value should be lowered while
on systems with a lot of configured sources this might be
increased. Cache-Grow defines in byte with the default of 1048576
(~1 MB) how much the Cache size will be increased in the event the
space defined by Cache-Start is not enough. These value will be
applied again and again until either the cache is big enough to
store all information or the size of the cache reaches the
Cache-Limit. The default of Cache-Limit is 0 which stands for no
limit. If Cache-Grow is set to 0 the automatic grow of the cache is
disabled.
Build-Essential
Defines which package(s) are considered essential build
dependencies.
Get
The Get subsection controls the apt-get(8) tool, please see its
documentation for more information about the options here.
Cache
The Cache subsection controls the apt-cache(8) tool, please see its
documentation for more information about the options here.
CDROM
The CDROM subsection controls the apt-cdrom(8) tool, please see its
documentation for more information about the options here.
THE ACQUIRE GROUP
The Acquire group of options controls the download of packages and the
URI handlers.
Check-Valid-Until
Security related option defaulting to true as an expiring
validation for a Release file prevents longtime replay attacks and
can e.g. also help users to identify no longer updated mirrors -
but the feature depends on the correctness of the time on the user
system. Archive maintainers are encouraged to create Release files
with the Valid-Until header, but if they don't or a stricter value
is volitional the following Max-ValidTime option can be used.
Max-ValidTime
Seconds the Release file should be considered valid after it was
created. The default is "for ever" (0) if the Release file of the
archive doesn't include a Valid-Until header. If it does then this
date is the default. The date from the Release file or the date
specified by the creation time of the Release file (Date header)
plus the seconds specified with this options are used to check if
the validation of a file has expired by using the earlier date of
the two. Archive specific settings can be made by appending the
label of the archive to the option name.
PDiffs
Try to download deltas called PDiffs for Packages or Sources files
instead of downloading whole ones. True by default.
Two sub-options to limit the use of PDiffs are also available: With
FileLimit can be specified how many PDiff files are downloaded at
most to patch a file. SizeLimit on the other hand is the maximum
precentage of the size of all patches compared to the size of the
targeted file. If one of these limits is exceeded the complete file
is downloaded instead of the patches.
Queue-Mode
Queuing mode; Queue-Mode can be one of host or access which
determines how APT parallelizes outgoing connections. host means
that one connection per target host will be opened, access means
that one connection per URI type will be opened.
Retries
Number of retries to perform. If this is non-zero APT will retry
failed files the given number of times.
Source-Symlinks
Use symlinks for source archives. If set to true then source
archives will be symlinked when possible instead of copying. True
is the default.
http
HTTP URIs; http::Proxy is the default http proxy to use. It is in
the standard form of http://[[user][:pass]@]host[:port]/. Per host
proxies can also be specified by using the form http::Proxy::<host>
with the special keyword DIRECT meaning to use no proxies. If no
one of the above settings is specified, http_proxy environment
variable will be used.
Three settings are provided for cache control with HTTP/1.1
compliant proxy caches. No-Cache tells the proxy to not use its
cached response under any circumstances, Max-Age is sent only for
index files and tells the cache to refresh its object if it is
older than the given number of seconds. Debian updates its index
files daily so the default is 1 day. No-Store specifies that the
cache should never store this request, it is only set for archive
files. This may be useful to prevent polluting a proxy cache with
very large .deb files. Note: Squid 2.0.2 does not support any of
these options.
The option timeout sets the timeout timer used by the method, this
applies to all things including connection timeout and data
timeout.
One setting is provided to control the pipeline depth in cases
where the remote server is not RFC conforming or buggy (such as
Squid 2.0.2). Acquire::http::Pipeline-Depth can be a value from 0
to 5 indicating how many outstanding requests APT should send. A
value of zero MUST be specified if the remote host does not
properly linger on TCP connections - otherwise data corruption will
occur. Hosts which require this are in violation of RFC 2068.
The used bandwidth can be limited with Acquire::http::Dl-Limit
which accepts integer values in kilobyte. The default value is 0
which deactivates the limit and tries uses as much as possible of
the bandwidth (Note that this option implicit deactivates the
download from multiple servers at the same time.)
Acquire::http::User-Agent can be used to set a different User-Agent
for the http download method as some proxies allow access for
clients only if the client uses a known identifier.
https
HTTPS URIs. Cache-control, Timeout, AllowRedirect, Dl-Limit and
proxy options are the same as for http method and will also default
to the options from the http method if they are not explicitly set
for https. Pipeline-Depth option is not supported yet.
CaInfo suboption specifies place of file that holds info about
trusted certificates. <host>::CaInfo is corresponding per-host
option. Verify-Peer boolean suboption determines whether verify
server's host certificate against trusted certificates or not.
<host>::Verify-Peer is corresponding per-host option. Verify-Host
boolean suboption determines whether verify server's hostname or
not. <host>::Verify-Host is corresponding per-host option.
SslCert determines what certificate to use for client
authentication. <host>::SslCert is corresponding per-host option.
SslKey determines what private key to use for client
authentication. <host>::SslKey is corresponding per-host option.
SslForceVersion overrides default SSL version to use. Can contain
'TLSv1' or 'SSLv3' string. <host>::SslForceVersion is
corresponding per-host option.
ftp
FTP URIs; ftp::Proxy is the default ftp proxy to use. It is in the
standard form of ftp://[[user][:pass]@]host[:port]/. Per host
proxies can also be specified by using the form ftp::Proxy::<host>
with the special keyword DIRECT meaning to use no proxies. If no
one of the above settings is specified, ftp_proxy environment
variable will be used. To use a ftp proxy you will have to set the
ftp::ProxyLogin script in the configuration file. This entry
specifies the commands to send to tell the proxy server what to
connect to. Please see
/usr/share/doc/apt/examples/configure-index.gz for an example of
how to do this. The substitution variables available are
$(PROXY_USER) $(PROXY_PASS) $(SITE_USER) $(SITE_PASS) $(SITE) and
$(SITE_PORT) Each is taken from it's respective URI component.
The option timeout sets the timeout timer used by the method, this
applies to all things including connection timeout and data
timeout.
Several settings are provided to control passive mode. Generally it
is safe to leave passive mode on, it works in nearly every
environment. However some situations require that passive mode be
disabled and port mode ftp used instead. This can be done globally,
for connections that go through a proxy or for a specific host (See
the sample config file for examples).
It is possible to proxy FTP over HTTP by setting the ftp_proxy
environment variable to a http url - see the discussion of the http
method above for syntax. You cannot set this in the configuration
file and it is not recommended to use FTP over HTTP due to its low
efficiency.
The setting ForceExtended controls the use of RFC2428 EPSV and EPRT
commands. The default is false, which means these commands are only
used if the control connection is IPv6. Setting this to true forces
their use even on IPv4 connections. Note that most FTP servers do
not support RFC2428.
cdrom
CDROM URIs; the only setting for CDROM URIs is the mount point,
cdrom::Mount which must be the mount point for the CDROM drive as
specified in /etc/fstab. It is possible to provide alternate mount
and unmount commands if your mount point cannot be listed in the
fstab (such as an SMB mount and old mount packages). The syntax is
to put
/cdrom/::Mount "foo";
within the cdrom block. It is important to have the trailing slash.
Unmount commands can be specified using UMount.
gpgv
GPGV URIs; the only option for GPGV URIs is the option to pass
additional parameters to gpgv. gpgv::Options Additional options
passed to gpgv.
CompressionTypes
List of compression types which are understood by the acquire
methods. Files like Packages can be available in various
compression formats. Per default the acquire methods can decompress
bzip2, lzma and gzip compressed files, with this setting more
formats can be added on the fly or the used method can be changed.
The syntax for this is:
Acquire::CompressionTypes::FileExtension "Methodname";
Also the Order subgroup can be used to define in which order the
acquire system will try to download the compressed files. The
acquire system will try the first and proceed with the next
compression type in this list on error, so to prefer one over the
other type simple add the preferred type at first - not already
added default types will be added at run time to the end of the
list, so e.g.
Acquire::CompressionTypes::Order:: "gz";
can be used to prefer gzip compressed files over bzip2 and lzma. If
lzma should be preferred over gzip and bzip2 the configure setting
should look like this
Acquire::CompressionTypes::Order { "lzma"; "gz"; };
It is not needed to add bz2 explicit to the list as it will be
added automatic.
Note that at run time the Dir::Bin::Methodname will be checked: If
this setting exists the method will only be used if this file
exists, e.g. for the bzip2 method (the inbuilt) setting is
Dir::Bin::bzip2 "/bin/bzip2";
Note also that list entries specified on the command line will be
added at the end of the list specified in the configuration files,
but before the default entries. To prefer a type in this case over
the ones specified in in the configuration files you can set the
option direct - not in list style. This will not override the
defined list, it will only prefix the list with this type.
While it is possible to add an empty compression type to the order
list, but APT in its current version doesn't understand it
correctly and will display many warnings about not downloaded files
- these warnings are most of the time false negatives. Future
versions will maybe include a way to really prefer uncompressed
files to support the usage of local mirrors.
GzipIndexes
When downloading gzip compressed indexes (Packages, Sources, or
Translations), keep them gzip compressed locally instead of
unpacking them. This saves quite a lot of disk space at the expense
of more CPU requirements when building the local package caches.
False by default.
Languages
The Languages subsection controls which Translation files are
downloaded and in which order APT tries to display the
Description-Translations. APT will try to display the first
available Description in the Language which is listed at first.
Languages can be defined with their short or long Languagecodes.
Note that not all archives provide Translation files for every
Language - especially the long Languagecodes are rare, so please
inform you which ones are available before you set here impossible
values.
The default list includes "environment" and "en". "environment" has
a special meaning here: It will be replaced at runtime with the
languagecodes extracted from the LC_MESSAGES environment variable.
It will also ensure that these codes are not included twice in the
list. If LC_MESSAGES is set to "C" only the Translation-en file (if
available) will be used. To force apt to use no Translation file
use the setting Acquire::Languages=none. "none" is another special
meaning code which will stop the search for a fitting Translation
file. This can be used by the system administrator to let APT know
that it should download also this files without actually use them
if the environment doesn't specify this languages. So the following
example configuration will result in the order "en, de" in an
english and in "de, en" in a german localization. Note that "fr" is
downloaded, but not used if APT is not used in a french
localization, in such an environment the order would be "fr, de,
en".
Acquire::Languages { "environment"; "de"; "en"; "none"; "fr"; };
DIRECTORIES
The Dir::State section has directories that pertain to local state
information. lists is the directory to place downloaded package lists
in and status is the name of the dpkg status file. preferences is the
name of the APT preferences file. Dir::State contains the default
directory to prefix on all sub items if they do not start with / or ./.
Dir::Cache contains locations pertaining to local cache information,
such as the two package caches srcpkgcache and pkgcache as well as the
location to place downloaded archives, Dir::Cache::archives. Generation
of caches can be turned off by setting their names to be blank. This
will slow down startup but save disk space. It is probably preferred to
turn off the pkgcache rather than the srcpkgcache. Like Dir::State the
default directory is contained in Dir::Cache
Dir::Etc contains the location of configuration files, sourcelist gives
the location of the sourcelist and main is the default configuration
file (setting has no effect, unless it is done from the config file
specified by APT_CONFIG).
The Dir::Parts setting reads in all the config fragments in lexical
order from the directory specified. After this is done then the main
config file is loaded.
Binary programs are pointed to by Dir::Bin. Dir::Bin::Methods
specifies the location of the method handlers and gzip, bzip2, lzma,
dpkg, apt-get dpkg-source dpkg-buildpackage and apt-cache specify the
location of the respective programs.
The configuration item RootDir has a special meaning. If set, all paths
in Dir:: will be relative to RootDir, even paths that are specified
absolutely. So, for instance, if RootDir is set to /tmp/staging and
Dir::State::status is set to /var/lib/dpkg/status, then the status file
will be looked up in /tmp/staging/var/lib/dpkg/status.
The Ignore-Files-Silently list can be used to specify which files APT
should silently ignore while parsing the files in the fragment
directories. Per default a file which end with .disabled, ~, .bak or
.dpkg-[a-z]+ is silently ignored. As seen in the last default value
these patterns can use regular expression syntax.
APT IN DSELECT
When APT is used as a dselect(1) method several configuration
directives control the default behaviour. These are in the DSelect
section.
Clean
Cache Clean mode; this value may be one of always, prompt, auto,
pre-auto and never. always and prompt will remove all packages from
the cache after upgrading, prompt (the default) does so
conditionally. auto removes only those packages which are no longer
downloadable (replaced with a new version for instance). pre-auto
performs this action before downloading new packages.
options
The contents of this variable is passed to apt-get(8) as command
line options when it is run for the install phase.
Updateoptions
The contents of this variable is passed to apt-get(8) as command
line options when it is run for the update phase.
PromptAfterUpdate
If true the [U]pdate operation in dselect(1) will always prompt to
continue. The default is to prompt only on error.
HOW APT CALLS DPKG
Several configuration directives control how APT invokes dpkg(1). These
are in the DPkg section.
options
This is a list of options to pass to dpkg. The options must be
specified using the list notation and each list item is passed as a
single argument to dpkg(1).
Pre-Invoke, Post-Invoke
This is a list of shell commands to run before/after invoking
dpkg(1). Like options this must be specified in list notation. The
commands are invoked in order using /bin/sh, should any fail APT
will abort.
Pre-Install-Pkgs
This is a list of shell commands to run before invoking dpkg. Like
options this must be specified in list notation. The commands are
invoked in order using /bin/sh, should any fail APT will abort. APT
will pass to the commands on standard input the filenames of all
.deb files it is going to install, one per line.
Version 2 of this protocol dumps more information, including the
protocol version, the APT configuration space and the packages,
files and versions being changed. Version 2 is enabled by setting
DPkg::Tools::options::cmd::Version to 2. cmd is a command given to
Pre-Install-Pkgs.
Run-Directory
APT chdirs to this directory before invoking dpkg, the default is
/.
Build-options
These options are passed to dpkg-buildpackage(1) when compiling
packages, the default is to disable signing and produce all
binaries.
dpkg trigger usage (and related options)
APT can call dpkg in a way so it can make aggressive use of triggers
over multiply calls of dpkg. Without further options dpkg will use
triggers only in between his own run. Activating these options can
therefore decrease the time needed to perform the install / upgrade.
Note that it is intended to activate these options per default in the
future, but as it changes the way APT calling dpkg drastically it needs
a lot more testing. These options are therefore currently experimental
and should not be used in productive environments. Also it breaks the
progress reporting so all frontends will currently stay around half (or
more) of the time in the 100% state while it actually configures all
packages.
Note that it is not guaranteed that APT will support these options or
that these options will not cause (big) trouble in the future. If you
have understand the current risks and problems with these options, but
are brave enough to help testing them create a new configuration file
and test a combination of options. Please report any bugs, problems and
improvements you encounter and make sure to note which options you have
used in your reports. Asking dpkg for help could also be useful for
debugging proposes, see e.g. dpkg --audit. A defensive option
combination would be
DPkg::NoTriggers "true";
PackageManager::Configure "smart";
DPkg::ConfigurePending "true";
DPkg::TriggersPending "true";
DPkg::NoTriggers
Add the no triggers flag to all dpkg calls (except the
ConfigurePending call). See dpkg(1) if you are interested in what
this actually means. In short: dpkg will not run the triggers when
this flag is present unless it is explicitly called to do so in an
extra call. Note that this option exists (undocumented) also in
older apt versions with a slightly different meaning: Previously
these option only append --no-triggers to the configure calls to
dpkg - now apt will add these flag also to the unpack and remove
calls.
PackageManager::Configure
Valid values are "all", "smart" and "no". "all" is the default
value and causes APT to configure all packages explicit. The
"smart" way is it to configure only packages which need to be
configured before another package can be unpacked (Pre-Depends) and
let the rest configure by dpkg with a call generated by the next
option. "no" on the other hand will not configure anything and
totally rely on dpkg for configuration (which will at the moment
fail if a Pre-Depends is encountered). Setting this option to
another than the all value will implicitly activate also the next
option per default as otherwise the system could end in an
unconfigured status which could be unbootable!
DPkg::ConfigurePending
If this option is set apt will call dpkg --configure --pending to
let dpkg handle all required configurations and triggers. This
option is activated automatic per default if the previous option is
not set to all, but deactivating could be useful if you want to run
APT multiple times in a row - e.g. in an installer. In these
sceneries you could deactivate this option in all but the last run.
DPkg::TriggersPending
Useful for smart configuration as a package which has pending
triggers is not considered as installed and dpkg treats them as
unpacked currently which is a dealbreaker for Pre-Dependencies (see
debbugs #526774). Note that this will process all triggers, not
only the triggers needed to configure this package.
PackageManager::UnpackAll
As the configuration can be deferred to be done at the end by dpkg
it can be tried to order the unpack series only by critical needs,
e.g. by Pre-Depends. Default is true and therefore the "old" method
of ordering in various steps by everything. While both method were
present in earlier APT versions the OrderCritical method was
unused, so this method is very experimental and needs further
improvements before becoming really useful.
OrderList::Score::Immediate
Essential packages (and there dependencies) should be configured
immediately after unpacking. It will be a good idea to do this
quite early in the upgrade process as these these configure calls
require currently also DPkg::TriggersPending which will run quite a
few triggers (which maybe not needed). Essentials get per default a
high score but the immediate flag is relatively low (a package
which has a Pre-Depends is higher rated). These option and the
others in the same group can be used to change the scoring. The
following example shows the settings with there default values.
OrderList::Score {
Delete 500;
Essential 200;
Immediate 10;
PreDepends 50;
};
PERIODIC AND ARCHIVES OPTIONS
APT::Periodic and APT::Archives groups of options configure behavior of
apt periodic updates, which is done by /etc/cron.daily/apt script. See
header of this script for the brief documentation of these options.
DEBUG OPTIONS
Enabling options in the Debug:: section will cause debugging
information to be sent to the standard error stream of the program
utilizing the apt libraries, or enable special program modes that are
primarily useful for debugging the behavior of apt. Most of these
options are not interesting to a normal user, but a few may be:
o Debug::pkgProblemResolver enables output about the decisions made
by dist-upgrade, upgrade, install, remove, purge.
o Debug::NoLocking disables all file locking. This can be used to
run some operations (for instance, apt-get -s install) as a
non-root user.
o Debug::pkgDPkgPM prints out the actual command line each time that
apt invokes dpkg(1).
o Debug::IdentCdrom disables the inclusion of statfs data in CDROM
IDs.
A full list of debugging options to apt follows.
Debug::Acquire::cdrom
Print information related to accessing cdrom:// sources.
Debug::Acquire::ftp
Print information related to downloading packages using FTP.
Debug::Acquire::http
Print information related to downloading packages using HTTP.
Debug::Acquire::https
Print information related to downloading packages using HTTPS.
Debug::Acquire::gpgv
Print information related to verifying cryptographic signatures
using gpg.
Debug::aptcdrom
Output information about the process of accessing collections of
packages stored on CD-ROMs.
Debug::BuildDeps
Describes the process of resolving build-dependencies in apt-
get(8).
Debug::Hashes
Output each cryptographic hash that is generated by the apt
libraries.
Debug::IdentCDROM
Do not include information from statfs, namely the number of used
and free blocks on the CD-ROM filesystem, when generating an ID for
a CD-ROM.
Debug::NoLocking
Disable all file locking. For instance, this will allow two
instances of "apt-get update" to run at the same time.
Debug::pkgAcquire
Log when items are added to or removed from the global download
queue.
Debug::pkgAcquire::Auth
Output status messages and errors related to verifying checksums
and cryptographic signatures of downloaded files.
Debug::pkgAcquire::Diffs
Output information about downloading and applying package index
list diffs, and errors relating to package index list diffs.
Debug::pkgAcquire::RRed
Output information related to patching apt package lists when
downloading index diffs instead of full indices.
Debug::pkgAcquire::Worker
Log all interactions with the sub-processes that actually perform
downloads.
Debug::pkgAutoRemove
Log events related to the automatically-installed status of
packages and to the removal of unused packages.
Debug::pkgDepCache::AutoInstall
Generate debug messages describing which packages are being
automatically installed to resolve dependencies. This corresponds
to the initial auto-install pass performed in, e.g., apt-get
install, and not to the full apt dependency resolver; see
Debug::pkgProblemResolver for that.
Debug::pkgDepCache::Marker
Generate debug messages describing which package is marked as
keep/install/remove while the ProblemResolver does his work. Each
addition or deletion may trigger additional actions; they are shown
indented two additional space under the original entry. The format
for each line is MarkKeep, MarkDelete or MarkInstall followed by
package-name <a.b.c -> d.e.f | x.y.z> (section) where a.b.c is the
current version of the package, d.e.f is the version considered for
installation and x.y.z is a newer version, but not considered for
installation (because of a low pin score). The later two can be
omitted if there is none or if it is the same version as the
installed. section is the name of the section the package appears
in.
Debug::pkgInitConfig
Dump the default configuration to standard error on startup.
Debug::pkgDPkgPM
When invoking dpkg(1), output the precise command line with which
it is being invoked, with arguments separated by a single space
character.
Debug::pkgDPkgProgressReporting
Output all the data received from dpkg(1) on the status file
descriptor and any errors encountered while parsing it.
Debug::pkgOrderList
Generate a trace of the algorithm that decides the order in which
apt should pass packages to dpkg(1).
Debug::pkgPackageManager
Output status messages tracing the steps performed when invoking
dpkg(1).
Debug::pkgPolicy
Output the priority of each package list on startup.
Debug::pkgProblemResolver
Trace the execution of the dependency resolver (this applies only
to what happens when a complex dependency problem is encountered).
Debug::pkgProblemResolver::ShowScores
Display a list of all installed packages with their calculated
score used by the pkgProblemResolver. The description of the
package is the same as described in Debug::pkgDepCache::Marker
Debug::sourceList
Print information about the vendors read from
/etc/apt/vendors.list.
EXAMPLES
/usr/share/doc/apt/examples/configure-index.gz is a configuration file
showing example values for all possible options.
FILES
/etc/apt/apt.conf
APT configuration file. Configuration Item: Dir::Etc::Main.
/etc/apt/apt.conf.d/
APT configuration file fragments. Configuration Item:
Dir::Etc::Parts.
SEE ALSO
apt-cache(8), apt-config(8), apt_preferences(5).
BUGS
APT bug page[1]. If you wish to report a bug in APT, please see
/usr/share/doc/debian/bug-reporting.txt or the reportbug(1) command.
AUTHORS
Jason Gunthorpe
APT team
Daniel Burrows <dburrows@debian.org>
Initial documentation of Debug::*.
NOTES
1. APT bug page
http://bugs.debian.org/src:apt