1APT.CONF(5)                           APT                          APT.CONF(5)
2
3
4

NAME

6       apt.conf - Configuration file for APT
7

DESCRIPTION

9       /etc/apt/apt.conf is the main configuration file shared by all the
10       tools in the APT suite of tools, though it is by no means the only
11       place options can be set. The suite also shares a common command line
12       parser to provide a uniform environment.
13
14       When an APT tool starts up it will read the configuration files in the
15       following order:
16
17        1. the file specified by the APT_CONFIG environment variable (if any)
18
19        2. all files in Dir::Etc::Parts in alphanumeric ascending order which
20           have either no or "conf" as filename extension and which only
21           contain alphanumeric, hyphen (-), underscore (_) and period (.)
22           characters. Otherwise APT will print a notice that it has ignored a
23           file, unless that file matches a pattern in the
24           Dir::Ignore-Files-Silently configuration list - in which case it
25           will be silently ignored.
26
27        3. the main configuration file specified by Dir::Etc::main
28
29        4. all options set in the binary specific configuration subtree are
30           moved into the root of the tree.
31
32        5. the command line options are applied to override the configuration
33           directives or to load even more configuration files.
34

SYNTAX

36       The configuration file is organized in a tree with options organized
37       into functional groups. Option specification is given with a double
38       colon notation; for instance APT::Get::Assume-Yes is an option within
39       the APT tool group, for the Get tool. Options do not inherit from their
40       parent groups.
41
42       Syntactically the configuration language is modeled after what the ISC
43       tools such as bind and dhcp use. Lines starting with // are treated as
44       comments (ignored), as well as all text between /* and */, just like
45       C/C++ comments. Lines starting with # are also treated as comments.
46       Each line is of the form APT::Get::Assume-Yes "true";. The quotation
47       marks and trailing semicolon are required. The value must be on one
48       line, and there is no kind of string concatenation. Values must not
49       include backslashes or extra quotation marks. Option names are made up
50       of alphanumeric characters and the characters "/-:._+". A new scope can
51       be opened with curly braces, like this:
52
53
54           APT {
55             Get {
56               Assume-Yes "true";
57               Fix-Broken "true";
58             };
59           };
60
61       with newlines placed to make it more readable. Lists can be created by
62       opening a scope and including a single string enclosed in quotes
63       followed by a semicolon. Multiple entries can be included, separated by
64       a semicolon.
65
66
67           DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
68
69       In general the sample configuration file
70       /usr/share/doc/apt/examples/configure-index.gz is a good guide for how
71       it should look.
72
73       Case is not significant in names of configuration items, so in the
74       previous example you could use dpkg::pre-install-pkgs.
75
76       Names for the configuration items are optional if a list is defined as
77       can be seen in the DPkg::Pre-Install-Pkgs example above. If you don't
78       specify a name a new entry will simply add a new option to the list. If
79       you specify a name you can override the option in the same way as any
80       other option by reassigning a new value to the option.
81
82       Two special commands are defined: #include (which is deprecated and not
83       supported by alternative implementations) and #clear.  #include will
84       include the given file, unless the filename ends in a slash, in which
85       case the whole directory is included.  #clear is used to erase a part
86       of the configuration tree. The specified element and all its
87       descendants are erased. (Note that these lines also need to end with a
88       semicolon.)
89
90       The #clear command is the only way to delete a list or a complete
91       scope. Reopening a scope (or using the syntax described below with an
92       appended ::) will not override previously written entries. Options can
93       only be overridden by addressing a new value to them - lists and scopes
94       can't be overridden, only cleared.
95
96       All of the APT tools take an -o option which allows an arbitrary
97       configuration directive to be specified on the command line. The syntax
98       is a full option name (APT::Get::Assume-Yes for instance) followed by
99       an equals sign then the new value of the option. To append a new
100       element to a list, add a trailing :: to the name of the list. (As you
101       might suspect, the scope syntax can't be used on the command line.)
102
103       Note that appending items to a list using :: only works for one item
104       per line, and that you should not use it in combination with the scope
105       syntax (which adds :: implicitly). Using both syntaxes together will
106       trigger a bug which some users unfortunately depend on: an option with
107       the unusual name "::" which acts like every other option with a name.
108       This introduces many problems; for one thing, users who write multiple
109       lines in this wrong syntax in the hope of appending to a list will
110       achieve the opposite, as only the last assignment for this option "::"
111       will be used. Future versions of APT will raise errors and stop working
112       if they encounter this misuse, so please correct such statements now
113       while APT doesn't explicitly complain about them.
114

THE APT GROUP

116       This group of options controls general APT behavior as well as holding
117       the options for all of the tools.
118
119       Architecture
120           System Architecture; sets the architecture to use when fetching
121           files and parsing package lists. The internal default is the
122           architecture apt was compiled for.
123
124       Architectures
125           All Architectures the system supports. For instance, CPUs
126           implementing the amd64 (also called x86-64) instruction set are
127           also able to execute binaries compiled for the i386 (x86)
128           instruction set. This list is used when fetching files and parsing
129           package lists. The initial default is always the system's native
130           architecture (APT::Architecture), and foreign architectures are
131           added to the default list when they are registered via dpkg
132           --add-architecture.
133
134       Compressor
135           This scope defines which compression formats are supported, how
136           compression and decompression can be performed if support for this
137           format isn't built into apt directly and a cost-value indicating
138           how costly it is to compress something in this format. As an
139           example the following configuration stanza would allow apt to
140           download and uncompress as well as create and store files with the
141           low-cost .reversed file extension which it will pass to the command
142           rev without additional commandline parameters for compression and
143           uncompression:
144
145               APT::Compressor::rev {
146                    Name "rev";
147                    Extension ".reversed";
148                    Binary "rev";
149                    CompressArg {};
150                    UncompressArg {};
151                    Cost "10";
152               };
153
154       Build-Profiles
155           List of all build profiles enabled for build-dependency resolution,
156           without the "profile." namespace prefix. By default this list is
157           empty. The DEB_BUILD_PROFILES as used by dpkg-buildpackage(1)
158           overrides the list notation.
159
160       Default-Release
161           Default release to install packages from if more than one version
162           is available. Contains release name, codename or release version.
163           Examples: 'stable', 'testing', 'unstable', 'bookworm', 'trixie',
164           '4.0', '5.0*'. See also apt_preferences(5).
165
166       Snapshot
167           Snapshot to use for all repositories configured with Snapshot: yes.
168           See also sources.list(5), the --snapshot option that sets this
169           value, and Acquire::Snapshots::URI below.
170
171       Ignore-Hold
172           Ignore held packages; this global option causes the problem
173           resolver to ignore held packages in its decision making.
174
175       Clean-Installed
176           Defaults to on. When turned on the autoclean feature will remove
177           any packages which can no longer be downloaded from the cache. If
178           turned off then packages that are locally installed are also
179           excluded from cleaning - but note that APT provides no direct means
180           to reinstall them.
181
182       Immediate-Configure
183           Defaults to on, which will cause APT to install essential and
184           important packages as soon as possible in an install/upgrade
185           operation, in order to limit the effect of a failing dpkg(1) call.
186           If this option is disabled, APT treats an important package in the
187           same way as an extra package: between the unpacking of the package
188           A and its configuration there can be many other unpack or
189           configuration calls for other unrelated packages B, C etc. If these
190           cause the dpkg(1) call to fail (e.g. because package B's maintainer
191           scripts generate an error), this results in a system state in which
192           package A is unpacked but unconfigured - so any package depending
193           on A is now no longer guaranteed to work, as its dependency on A is
194           no longer satisfied.
195
196           The immediate configuration marker is also applied in the
197           potentially problematic case of circular dependencies, since a
198           dependency with the immediate flag is equivalent to a
199           Pre-Dependency. In theory this allows APT to recognise a situation
200           in which it is unable to perform immediate configuration, abort,
201           and suggest to the user that the option should be temporarily
202           deactivated in order to allow the operation to proceed. Note the
203           use of the word "theory" here; in the real world this problem has
204           rarely been encountered, in non-stable distribution versions, and
205           was caused by wrong dependencies of the package in question or by a
206           system in an already broken state; so you should not blindly
207           disable this option, as the scenario mentioned above is not the
208           only problem it can help to prevent in the first place.
209
210           Before a big operation like dist-upgrade is run with this option
211           disabled you should try to explicitly install the package APT is
212           unable to configure immediately; but please make sure you also
213           report your problem to your distribution and to the APT team with
214           the bug link below, so they can work on improving or correcting the
215           upgrade process.
216
217       Force-LoopBreak
218           Never enable this option unless you really know what you are doing.
219           It permits APT to temporarily remove an essential package to break
220           a Conflicts/Conflicts or Conflicts/Pre-Depends loop between two
221           essential packages.  Such a loop should never exist and is a grave
222           bug. This option will work if the essential packages are not tar,
223           gzip, libc, dpkg, dash or anything that those packages depend on.
224
225       Cache-Start, Cache-Grow, Cache-Limit
226           APT uses since version 0.7.26 a resizable memory mapped cache file
227           to store the available information.  Cache-Start acts as a hint of
228           the size the cache will grow to, and is therefore the amount of
229           memory APT will request at startup. The default value is 20971520
230           bytes (~20 MB). Note that this amount of space needs to be
231           available for APT; otherwise it will likely fail ungracefully, so
232           for memory restricted devices this value should be lowered while on
233           systems with a lot of configured sources it should be increased.
234           Cache-Grow defines in bytes with the default of 1048576 (~1 MB) how
235           much the cache size will be increased in the event the space
236           defined by Cache-Start is not enough. This value will be applied
237           again and again until either the cache is big enough to store all
238           information or the size of the cache reaches the Cache-Limit. The
239           default of Cache-Limit is 0 which stands for no limit. If
240           Cache-Grow is set to 0 the automatic growth of the cache is
241           disabled.
242
243       Build-Essential
244           Defines which packages are considered essential build dependencies.
245
246       Get
247           The Get subsection controls the apt-get(8) tool; please see its
248           documentation for more information about the options here.
249
250       Cache
251           The Cache subsection controls the apt-cache(8) tool; please see its
252           documentation for more information about the options here.
253
254       CDROM
255           The CDROM subsection controls the apt-cdrom(8) tool; please see its
256           documentation for more information about the options here.
257

THE ACQUIRE GROUP

259       The Acquire group of options controls the download of packages as well
260       as the various "acquire methods" responsible for the download itself
261       (see also sources.list(5)).
262
263       Check-Date
264           Security related option defaulting to true, enabling time-related
265           checks. Disabling it means that the machine's time cannot be
266           trusted, and APT will hence disable all time-related checks, such
267           as Check-Valid-Until and verifying that the Date field of a release
268           file is not in the future.
269
270       Max-FutureTime
271           Maximum time (in seconds) before its creation (as indicated by the
272           Date header) that the Release file should be considered valid. The
273           default value is 10. Archive specific settings can be made by
274           appending the label of the archive to the option name. Preferably,
275           the same can be achieved for specific sources.list(5) entries by
276           using the Date-Max-Future option there.
277
278       Check-Valid-Until
279           Security related option defaulting to true, as giving a Release
280           file's validation an expiration date prevents replay attacks over a
281           long timescale, and can also for example help users to identify
282           mirrors that are no longer updated - but the feature depends on the
283           correctness of the clock on the user system. Archive maintainers
284           are encouraged to create Release files with the Valid-Until header,
285           but if they don't or a stricter value is desired the Max-ValidTime
286           option below can be used. The Check-Valid-Until option of
287           sources.list(5) entries should be preferred to disable the check
288           selectively instead of using this global override.
289
290       Max-ValidTime
291           Maximum time (in seconds) after its creation (as indicated by the
292           Date header) that the Release file should be considered valid. If
293           the Release file itself includes a Valid-Until header the earlier
294           date of the two is used as the expiration date. The default value
295           is 0 which stands for "valid forever". Archive specific settings
296           can be made by appending the label of the archive to the option
297           name. Preferably, the same can be achieved for specific
298           sources.list(5) entries by using the Valid-Until-Max option there.
299
300       Min-ValidTime
301           Minimum time (in seconds) after its creation (as indicated by the
302           Date header) that the Release file should be considered valid. Use
303           this if you need to use a seldom updated (local) mirror of a more
304           frequently updated archive with a Valid-Until header instead of
305           completely disabling the expiration date checking. Archive specific
306           settings can and should be used by appending the label of the
307           archive to the option name. Preferably, the same can be achieved
308           for specific sources.list(5) entries by using the Valid-Until-Min
309           option there.
310
311       AllowTLS
312           Allow use of the internal TLS support in the http method. If set to
313           false, this completely disables support for TLS in apt's own
314           methods (excluding the curl-based https method). No TLS-related
315           functions will be called anymore.
316
317       PDiffs
318           Try to download deltas called PDiffs for indexes (like Packages
319           files) instead of downloading whole ones. True by default.
320           Preferably, this can be set for specific sources.list(5) entries or
321           index files by using the PDiffs option there.
322
323           Two sub-options to limit the use of PDiffs are also available:
324           FileLimit can be used to specify a maximum number of PDiff files
325           should be downloaded to update a file.  SizeLimit on the other hand
326           is the maximum percentage of the size of all patches compared to
327           the size of the targeted file. If one of these limits is exceeded
328           the complete file is downloaded instead of the patches.
329
330       By-Hash
331           Try to download indexes via an URI constructed from a hashsum of
332           the expected file rather than downloaded via a well-known stable
333           filename. True by default, but automatically disabled if the source
334           indicates no support for it. Usage can be forced with the special
335           value "force". Preferably, this can be set for specific
336           sources.list(5) entries or index files by using the By-Hash option
337           there.
338
339       Queue-Mode
340           Queuing mode; Queue-Mode can be one of host or access which
341           determines how APT parallelizes outgoing connections.  host means
342           that one connection per target host will be opened, access means
343           that one connection per URI type will be opened.
344
345       Retries
346           Number of retries to perform. If this is non-zero APT will retry
347           failed files the given number of times.
348
349       Source-Symlinks
350           Use symlinks for source archives. If set to true then source
351           archives will be symlinked when possible instead of copying. True
352           is the default.
353
354       http https
355           The options in these scopes configure APT's acquire transports for
356           the protocols HTTP and HTTPS and are documented in the apt-
357           transport-http(1) and apt-transport-https(1) manpages respectively.
358
359       ftp
360           ftp::Proxy sets the default proxy to use for FTP URIs. It is in the
361           standard form of ftp://[[user][:pass]@]host[:port]/. Per host
362           proxies can also be specified by using the form ftp::Proxy::<host>
363           with the special keyword DIRECT meaning to use no proxies. If no
364           one of the above settings is specified, ftp_proxy environment
365           variable will be used. To use an FTP proxy you will have to set the
366           ftp::ProxyLogin script in the configuration file. This entry
367           specifies the commands to send to tell the proxy server what to
368           connect to. Please see
369           /usr/share/doc/apt/examples/configure-index.gz for an example of
370           how to do this. The substitution variables representing the
371           corresponding URI component are $(PROXY_USER), $(PROXY_PASS),
372           $(SITE_USER), $(SITE_PASS), $(SITE) and $(SITE_PORT).
373
374           The option timeout sets the timeout timer used by the method; this
375           value applies to the connection as well as the data timeout.
376
377           Several settings are provided to control passive mode. Generally it
378           is safe to leave passive mode on; it works in nearly every
379           environment. However, some situations require that passive mode be
380           disabled and port mode FTP used instead. This can be done globally
381           or for connections that go through a proxy or for a specific host
382           (see the sample config file for examples).
383
384           It is possible to proxy FTP over HTTP by setting the ftp_proxy
385           environment variable to an HTTP URL - see the discussion of the
386           http method above for syntax. You cannot set this in the
387           configuration file and it is not recommended to use FTP over HTTP
388           due to its low efficiency.
389
390           The setting ForceExtended controls the use of RFC2428 EPSV and EPRT
391           commands. The default is false, which means these commands are only
392           used if the control connection is IPv6. Setting this to true forces
393           their use even on IPv4 connections. Note that most FTP servers do
394           not support RFC2428.
395
396       cdrom
397           For URIs using the cdrom method, the only configurable option is
398           the mount point, cdrom::Mount, which must be the mount point for
399           the CD-ROM (or DVD, or whatever) drive as specified in /etc/fstab.
400           It is possible to provide alternate mount and unmount commands if
401           your mount point cannot be listed in the fstab. The syntax is to
402           put
403
404               /cdrom/::Mount "foo";
405
406           within the cdrom block. It is important to have the trailing slash.
407           Unmount commands can be specified using UMount.
408
409       gpgv
410           For GPGV URIs the only configurable option is gpgv::Options, which
411           passes additional parameters to gpgv.
412
413       CompressionTypes
414           List of compression types which are understood by the acquire
415           methods. Files like Packages can be available in various
416           compression formats. By default the acquire methods can decompress
417           and recompress many common formats like xz and gzip; with this
418           scope the supported formats can be queried, modified as well as
419           support for more formats added (see also APT::Compressor). The
420           syntax for this is:
421
422               Acquire::CompressionTypes::FileExtension "Methodname";
423
424           Also, the Order subgroup can be used to define in which order the
425           acquire system will try to download the compressed files. The
426           acquire system will try the first and proceed with the next
427           compression type in this list on error, so to prefer one over the
428           other type simply add the preferred type first - types not already
429           added will be implicitly appended to the end of the list, so e.g.
430
431               Acquire::CompressionTypes::Order:: "gz";
432
433           can be used to prefer gzip compressed files over all other
434           compression formats. If xz should be preferred over gzip and bzip2
435           the configure setting should look like this:
436
437               Acquire::CompressionTypes::Order { "xz"; "gz"; };
438
439           It is not needed to add bz2 to the list explicitly as it will be
440           added automatically.
441
442           Note that the Dir::Bin::Methodname will be checked at run time. If
443           this option has been set and support for this format isn't directly
444           built into apt, the method will only be used if this file exists;
445           e.g. for the bzip2 method (the inbuilt) setting is:
446
447               Dir::Bin::bzip2 "/bin/bzip2";
448
449           Note also that list entries specified on the command line will be
450           added at the end of the list specified in the configuration files,
451           but before the default entries. To prefer a type in this case over
452           the ones specified in the configuration files you can set the
453           option direct - not in list style. This will not override the
454           defined list; it will only prefix the list with this type.
455
456           The special type uncompressed can be used to give uncompressed
457           files a preference, but note that most archives don't provide
458           uncompressed files so this is mostly only usable for local mirrors.
459
460       GzipIndexes
461           When downloading gzip compressed indexes (Packages, Sources, or
462           Translations), keep them gzip compressed locally instead of
463           unpacking them. This saves quite a lot of disk space at the expense
464           of more CPU requirements when building the local package caches.
465           False by default.
466
467       Languages
468           The Languages subsection controls which Translation files are
469           downloaded and in which order APT tries to display the
470           description-translations. APT will try to display the first
471           available description in the language which is listed first.
472           Languages can be defined with their short or long language codes.
473           Note that not all archives provide Translation files for every
474           language - the long language codes are especially rare.
475
476           The default list includes "environment" and "en". "environment" has
477           a special meaning here: it will be replaced at runtime with the
478           language codes extracted from the LC_MESSAGES environment variable.
479           It will also ensure that these codes are not included twice in the
480           list. If LC_MESSAGES is set to "C" only the Translation-en file (if
481           available) will be used. To force APT to use no Translation file
482           use the setting Acquire::Languages=none. "none" is another special
483           meaning code which will stop the search for a suitable Translation
484           file. This tells APT to download these translations too, without
485           actually using them unless the environment specifies the languages.
486           So the following example configuration will result in the order
487           "en, de" in an English locale or "de, en" in a German one. Note
488           that "fr" is downloaded, but not used unless APT is used in a
489           French locale (where the order would be "fr, de, en").
490
491               Acquire::Languages { "environment"; "de"; "en"; "none"; "fr"; };
492
493           Note: To prevent problems resulting from APT being executed in
494           different environments (e.g. by different users or by other
495           programs) all Translation files which are found in
496           /var/lib/apt/lists/ will be added to the end of the list (after an
497           implicit "none").
498
499       ForceIPv4
500           When downloading, force to use only the IPv4 protocol.
501
502       ForceIPv6
503           When downloading, force to use only the IPv6 protocol.
504
505       MaxReleaseFileSize
506           The maximum file size of Release/Release.gpg/InRelease files. The
507           default is 10MB.
508
509       EnableSrvRecords
510           This option controls if apt will use the DNS SRV server record as
511           specified in RFC 2782 to select an alternative server to connect
512           to. The default is "true".
513
514       AllowInsecureRepositories
515           Allow update operations to load data files from repositories
516           without sufficient security information. The default value is
517           "false". Concept, implications as well as alternatives are detailed
518           in apt-secure(8).
519
520       AllowWeakRepositories
521           Allow update operations to load data files from repositories which
522           provide security information, but these are deemed no longer
523           cryptographically strong enough. The default value is "false".
524           Concept, implications as well as alternatives are detailed in apt-
525           secure(8).
526
527       AllowDowngradeToInsecureRepositories
528           Allow that a repository that was previously gpg signed to become
529           unsigned during an update operation. When there is no valid
530           signature for a previously trusted repository apt will refuse the
531           update. This option can be used to override this protection. You
532           almost certainly never want to enable this. The default is false.
533           Concept, implications as well as alternatives are detailed in apt-
534           secure(8).
535
536       Changelogs::URI scope
537           Acquiring changelogs can only be done if an URI is known from where
538           to get them. Preferable the Release file indicates this in a
539           'Changelogs' field. If this isn't available the Label/Origin field
540           of the Release file is used to check if a
541           Acquire::Changelogs::URI::Label::LABEL or
542           Acquire::Changelogs::URI::Origin::ORIGIN option exists and if so
543           this value is taken. The value in the Release file can be
544           overridden with Acquire::Changelogs::URI::Override::Label::LABEL or
545           Acquire::Changelogs::URI::Override::Origin::ORIGIN. The value
546           should be a normal URI to a text file, except that package specific
547           data is replaced with the placeholder @CHANGEPATH@. The value for
548           it is: 1. if the package is from a component (e.g.  main) this is
549           the first part otherwise it is omitted, 2. the first letter of
550           source package name, except if the source package name starts with
551           'lib' in which case it will be the first four letters. 3. The
552           complete source package name. 4. the complete name again and 5. the
553           source version. The first (if present), second, third and fourth
554           part are separated by a slash ('/') and between the fourth and
555           fifth part is an underscore ('_'). The special value 'no' is
556           available for this option indicating that this source can't be used
557           to acquire changelog files from. Another source will be tried if
558           available in this case.
559
560       Snapshots::URI scope
561           Like changelogs, snapshots can only be acquired if an URI is known
562           from where to get them. Preferable the Release file indicates this
563           in a 'Snapshots' field. If this isn't available the Label/Origin
564           field of the Release file is used to check if a
565           Acquire::Snapshots::URI::Label::LABEL or
566           Acquire::Snapshots::URI::Origin::ORIGIN option exists and if so
567           this value is taken. The value in the Release file can be
568           overridden with Acquire::Snapshots::URI::Override::Label::LABEL or
569           Acquire::Snapshots::URI::Override::Origin::ORIGIN. The value should
570           be a normal URI to a directory, except that the snapshot ID
571           replaced with the placeholder @SNAPSHOTID. The special value 'no'
572           is available for this option indicating that this source cannot be
573           used to acquire snapshots from. Another source will be tried if
574           available in this case.
575

BINARY SPECIFIC CONFIGURATION

577       Especially with the introduction of the apt binary it can be useful to
578       set certain options only for a specific binary as even options which
579       look like they would effect only a certain binary like
580       APT::Get::Show-Versions effect apt-get as well as apt.
581
582       Setting an option for a specific binary only can be achieved by setting
583       the option inside the Binary::specific-binary scope. Setting the option
584       APT::Get::Show-Versions for the apt only can e.g. by done by setting
585       Binary::apt::APT::Get::Show-Versions instead.
586
587       Note that as seen in the DESCRIPTION section further above you can't
588       set binary-specific options on the commandline itself nor in
589       configuration files loaded via the commandline.
590

DIRECTORIES

592       The Dir::State section has directories that pertain to local state
593       information.  lists is the directory to place downloaded package lists
594       in and status is the name of the dpkg(1) status file.  preferences is
595       the name of the APT preferences file.  Dir::State contains the default
596       directory to prefix on all sub-items if they do not start with / or ./.
597
598       Dir::Cache contains locations pertaining to local cache information,
599       such as the two package caches srcpkgcache and pkgcache as well as the
600       location to place downloaded archives, Dir::Cache::archives. Generation
601       of caches can be turned off by setting pkgcache or srcpkgcache to "".
602       This will slow down startup but save disk space. It is probably
603       preferable to turn off the pkgcache rather than the srcpkgcache. Like
604       Dir::State the default directory is contained in Dir::Cache
605
606       Dir::Etc contains the location of configuration files, sourcelist gives
607       the location of the sourcelist and main is the default configuration
608       file (setting has no effect, unless it is done from the config file
609       specified by APT_CONFIG).
610
611       The Dir::Parts setting reads in all the config fragments in lexical
612       order from the directory specified. After this is done then the main
613       config file is loaded.
614
615       Binary programs are pointed to by Dir::Bin.  Dir::Bin::Methods
616       specifies the location of the method handlers and gzip, bzip2, lzma,
617       dpkg, apt-get dpkg-source dpkg-buildpackage and apt-cache specify the
618       location of the respective programs.
619
620       The configuration item RootDir has a special meaning. If set, all paths
621       will be relative to RootDir, even paths that are specified absolutely.
622       So, for instance, if RootDir is set to /tmp/staging and
623       Dir::State::status is set to /var/lib/dpkg/status, then the status file
624       will be looked up in /tmp/staging/var/lib/dpkg/status. If you want to
625       prefix only relative paths, set Dir instead.
626
627       The Ignore-Files-Silently list can be used to specify which files APT
628       should silently ignore while parsing the files in the fragment
629       directories. Per default a file which ends with .disabled, ~, .bak or
630       .dpkg-[a-z]+ is silently ignored. As seen in the last default value
631       these patterns can use regular expression syntax.
632

APT IN DSELECT

634       When APT is used as a dselect(1) method several configuration
635       directives control the default behavior. These are in the DSelect
636       section.
637
638       Clean
639           Cache Clean mode; this value may be one of always, prompt, auto,
640           pre-auto and never.  always and prompt will remove all packages
641           from the cache after upgrading, prompt (the default) does so
642           conditionally.  auto removes only those packages which are no
643           longer downloadable (replaced with a new version for instance).
644           pre-auto performs this action before downloading new packages.
645
646       options
647           The contents of this variable are passed to apt-get(8) as command
648           line options when it is run for the install phase.
649
650       Updateoptions
651           The contents of this variable are passed to apt-get(8) as command
652           line options when it is run for the update phase.
653
654       PromptAfterUpdate
655           If true the [U]pdate operation in dselect(1) will always prompt to
656           continue. The default is to prompt only on error.
657

HOW APT CALLS DPKG(1)

659       Several configuration directives control how APT invokes dpkg(1). These
660       are in the DPkg section.
661
662       options
663           This is a list of options to pass to dpkg(1). The options must be
664           specified using the list notation and each list item is passed as a
665           single argument to dpkg(1).
666
667       Path
668           This is a string that defines the PATH environment variable used
669           when running dpkg. It may be set to any valid value of that
670           environment variable; or the empty string, in which case the
671           variable is not changed.
672
673       Pre-Invoke, Post-Invoke
674           This is a list of shell commands to run before/after invoking
675           dpkg(1). Like options this must be specified in list notation. The
676           commands are invoked in order using /bin/sh; should any fail APT
677           will abort.
678
679       Pre-Install-Pkgs
680           This is a list of shell commands to run before invoking dpkg(1).
681           Like options this must be specified in list notation. The commands
682           are invoked in order using /bin/sh; should any fail APT will abort.
683           APT will pass the filenames of all .deb files it is going to
684           install to the commands, one per line on the requested file
685           descriptor, defaulting to standard input.
686
687           Version 2 of this protocol sends more information through the
688           requested file descriptor: a line with the text VERSION 2, the APT
689           configuration space, and a list of package actions with filename
690           and version information.
691
692           Each configuration directive line has the form key=value. Special
693           characters (equal signs, newlines, nonprintable characters,
694           quotation marks, and percent signs in key and newlines,
695           nonprintable characters, and percent signs in value) are %-encoded.
696           Lists are represented by multiple key::=value lines with the same
697           key. The configuration section ends with a blank line.
698
699           Package action lines consist of five fields in Version 2: package
700           name (without architecture qualification even if foreign), old
701           version, direction of version change (< for upgrades, > for
702           downgrades, = for no change), new version, action. The version
703           fields are "-" for no version at all (for example when installing a
704           package for the first time; no version is treated as earlier than
705           any real version, so that is an upgrade, indicated as - < 1.23.4).
706           The action field is "**CONFIGURE**" if the package is being
707           configured, "**REMOVE**" if it is being removed, or the filename of
708           a .deb file if it is being unpacked.
709
710           In Version 3 after each version field follows the architecture of
711           this version, which is "-" if there is no version, and a field
712           showing the MultiArch type "same", "foreign", "allowed" or "none".
713           Note that "none" is an incorrect typename which is just kept to
714           remain compatible, it should be read as "no" and users are
715           encouraged to support both.
716
717           The version of the protocol to be used for the command cmd can be
718           chosen by setting DPkg::Tools::options::cmd::Version accordingly,
719           the default being version 1. If APT isn't supporting the requested
720           version it will send the information in the highest version it has
721           support for instead.
722
723           The file descriptor to be used to send the information can be
724           requested with DPkg::Tools::options::cmd::InfoFD which defaults to
725           0 for standard input and is available since version 0.9.11. Support
726           for the option can be detected by looking for the environment
727           variable APT_HOOK_INFO_FD which contains the number of the used
728           file descriptor as a confirmation.
729
730       Run-Directory
731           APT chdirs to this directory before invoking dpkg(1), the default
732           is /.
733
734       Build-options
735           These options are passed to dpkg-buildpackage(1) when compiling
736           packages; the default is to disable signing and produce all
737           binaries.
738
739       DPkg::ConfigurePending
740           If this option is set APT will call dpkg --configure --pending to
741           let dpkg(1) handle all required configurations and triggers. This
742           option is activated by default, but deactivating it could be useful
743           if you want to run APT multiple times in a row - e.g. in an
744           installer. In this scenario you could deactivate this option in all
745           but the last run.
746

PERIODIC AND ARCHIVES OPTIONS

748       APT::Periodic and APT::Archives groups of options configure behavior of
749       apt periodic updates, which is done by the
750       /usr/lib/apt/apt.systemd.daily script. See the top of this script for
751       the brief documentation of these options.
752

DEBUG OPTIONS

754       Enabling options in the Debug:: section will cause debugging
755       information to be sent to the standard error stream of the program
756       utilizing the apt libraries, or enable special program modes that are
757       primarily useful for debugging the behavior of apt. Most of these
758       options are not interesting to a normal user, but a few may be:
759
760       •   Debug::pkgProblemResolver enables output about the decisions made
761           by dist-upgrade, upgrade, install, remove, purge.
762
763       •   Debug::NoLocking disables all file locking. This can be used to run
764           some operations (for instance, apt-get -s install) as a non-root
765           user.
766
767       •   Debug::pkgDPkgPM prints out the actual command line each time that
768           apt invokes dpkg(1).
769
770       •   Debug::IdentCdrom disables the inclusion of statfs data in CD-ROM
771           IDs.
772
773       A full list of debugging options to apt follows.
774
775       Debug::Acquire::cdrom
776           Print information related to accessing cdrom:// sources.
777
778       Debug::Acquire::ftp
779           Print information related to downloading packages using FTP.
780
781       Debug::Acquire::http
782           Print information related to downloading packages using HTTP.
783
784       Debug::Acquire::https
785           Print information related to downloading packages using HTTPS.
786
787       Debug::Acquire::gpgv
788           Print information related to verifying cryptographic signatures
789           using gpg.
790
791       Debug::aptcdrom
792           Output information about the process of accessing collections of
793           packages stored on CD-ROMs.
794
795       Debug::BuildDeps
796           Describes the process of resolving build-dependencies in apt-
797           get(8).
798
799       Debug::Hashes
800           Output each cryptographic hash that is generated by the apt
801           libraries.
802
803       Debug::IdentCDROM
804           Do not include information from statfs, namely the number of used
805           and free blocks on the CD-ROM filesystem, when generating an ID for
806           a CD-ROM.
807
808       Debug::NoLocking
809           Disable all file locking. For instance, this will allow two
810           instances of “apt-get update” to run at the same time.
811
812       Debug::pkgAcquire
813           Log when items are added to or removed from the global download
814           queue.
815
816       Debug::pkgAcquire::Auth
817           Output status messages and errors related to verifying checksums
818           and cryptographic signatures of downloaded files.
819
820       Debug::pkgAcquire::Diffs
821           Output information about downloading and applying package index
822           list diffs, and errors relating to package index list diffs.
823
824       Debug::pkgAcquire::RRed
825           Output information related to patching apt package lists when
826           downloading index diffs instead of full indices.
827
828       Debug::pkgAcquire::Worker
829           Log all interactions with the sub-processes that actually perform
830           downloads.
831
832       Debug::pkgAutoRemove
833           Log events related to the automatically-installed status of
834           packages and to the removal of unused packages.
835
836       Debug::pkgDepCache::AutoInstall
837           Generate debug messages describing which packages are being
838           automatically installed to resolve dependencies. This corresponds
839           to the initial auto-install pass performed in, e.g., apt-get
840           install, and not to the full apt dependency resolver; see
841           Debug::pkgProblemResolver for that.
842
843       Debug::pkgDepCache::Marker
844           Generate debug messages describing which packages are marked as
845           keep/install/remove while the ProblemResolver does his work. Each
846           addition or deletion may trigger additional actions; they are shown
847           indented two additional spaces under the original entry. The format
848           for each line is MarkKeep, MarkDelete or MarkInstall followed by
849           package-name <a.b.c -> d.e.f | x.y.z> (section) where a.b.c is the
850           current version of the package, d.e.f is the version considered for
851           installation and x.y.z is a newer version, but not considered for
852           installation (because of a low pin score). The later two can be
853           omitted if there is none or if it is the same as the installed
854           version.  section is the name of the section the package appears
855           in.
856
857       Debug::pkgDPkgPM
858           When invoking dpkg(1), output the precise command line with which
859           it is being invoked, with arguments separated by a single space
860           character.
861
862       Debug::pkgDPkgProgressReporting
863           Output all the data received from dpkg(1) on the status file
864           descriptor and any errors encountered while parsing it.
865
866       Debug::pkgOrderList
867           Generate a trace of the algorithm that decides the order in which
868           apt should pass packages to dpkg(1).
869
870       Debug::pkgPackageManager
871           Output status messages tracing the steps performed when invoking
872           dpkg(1).
873
874       Debug::pkgPolicy
875           Output the priority of each package list on startup.
876
877       Debug::pkgProblemResolver
878           Trace the execution of the dependency resolver (this applies only
879           to what happens when a complex dependency problem is encountered).
880
881       Debug::pkgProblemResolver::ShowScores
882           Display a list of all installed packages with their calculated
883           score used by the pkgProblemResolver. The description of the
884           package is the same as described in Debug::pkgDepCache::Marker
885
886       Debug::sourceList
887           Print information about the vendors read from
888           /etc/apt/vendors.list.
889
890       Debug::RunScripts
891           Display the external commands that are called by apt hooks. This
892           includes e.g. the config options DPkg::{Pre,Post}-Invoke or
893           APT::Update::{Pre,Post}-Invoke.
894

EXAMPLES

896       /usr/share/doc/apt/examples/configure-index.gz is a configuration file
897       showing example values for all possible options.
898

FILES

900       /etc/apt/apt.conf
901           APT configuration file. Configuration Item: Dir::Etc::Main.
902
903       /etc/apt/apt.conf.d/
904           APT configuration file fragments. Configuration Item:
905           Dir::Etc::Parts.
906

SEE ALSO

908       apt-cache(8), apt-config(8), apt_preferences(5).
909

BUGS

911       APT bug page[1]. If you wish to report a bug in APT, please see
912       /usr/share/doc/debian/bug-reporting.txt or the reportbug(1) command.
913

AUTHORS

915       Jason Gunthorpe
916
917       APT team
918
919       Daniel Burrows <dburrows@debian.org>
920           Initial documentation of Debug::*.
921

NOTES

923        1. APT bug page
924           http://bugs.debian.org/src:apt
925
926
927
928APT 2.7.6                       02 January 2016                    APT.CONF(5)
Impressum