1APT.CONF(5) APT APT.CONF(5)
2
3
4
6 apt.conf - Configuration file for APT
7
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
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
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', 'bullseye', 'bookworm',
164 '4.0', '5.0*'. See also apt_preferences(5).
165
166 Ignore-Hold
167 Ignore held packages; this global option causes the problem
168 resolver to ignore held packages in its decision making.
169
170 Clean-Installed
171 Defaults to on. When turned on the autoclean feature will remove
172 any packages which can no longer be downloaded from the cache. If
173 turned off then packages that are locally installed are also
174 excluded from cleaning - but note that APT provides no direct means
175 to reinstall them.
176
177 Immediate-Configure
178 Defaults to on, which will cause APT to install essential and
179 important packages as soon as possible in an install/upgrade
180 operation, in order to limit the effect of a failing dpkg(1) call.
181 If this option is disabled, APT treats an important package in the
182 same way as an extra package: between the unpacking of the package
183 A and its configuration there can be many other unpack or
184 configuration calls for other unrelated packages B, C etc. If these
185 cause the dpkg(1) call to fail (e.g. because package B's maintainer
186 scripts generate an error), this results in a system state in which
187 package A is unpacked but unconfigured - so any package depending
188 on A is now no longer guaranteed to work, as its dependency on A is
189 no longer satisfied.
190
191 The immediate configuration marker is also applied in the
192 potentially problematic case of circular dependencies, since a
193 dependency with the immediate flag is equivalent to a
194 Pre-Dependency. In theory this allows APT to recognise a situation
195 in which it is unable to perform immediate configuration, abort,
196 and suggest to the user that the option should be temporarily
197 deactivated in order to allow the operation to proceed. Note the
198 use of the word "theory" here; in the real world this problem has
199 rarely been encountered, in non-stable distribution versions, and
200 was caused by wrong dependencies of the package in question or by a
201 system in an already broken state; so you should not blindly
202 disable this option, as the scenario mentioned above is not the
203 only problem it can help to prevent in the first place.
204
205 Before a big operation like dist-upgrade is run with this option
206 disabled you should try to explicitly install the package APT is
207 unable to configure immediately; but please make sure you also
208 report your problem to your distribution and to the APT team with
209 the bug link below, so they can work on improving or correcting the
210 upgrade process.
211
212 Force-LoopBreak
213 Never enable this option unless you really know what you are doing.
214 It permits APT to temporarily remove an essential package to break
215 a Conflicts/Conflicts or Conflicts/Pre-Depends loop between two
216 essential packages. Such a loop should never exist and is a grave
217 bug. This option will work if the essential packages are not tar,
218 gzip, libc, dpkg, dash or anything that those packages depend on.
219
220 Cache-Start, Cache-Grow, Cache-Limit
221 APT uses since version 0.7.26 a resizable memory mapped cache file
222 to store the available information. Cache-Start acts as a hint of
223 the size the cache will grow to, and is therefore the amount of
224 memory APT will request at startup. The default value is 20971520
225 bytes (~20 MB). Note that this amount of space needs to be
226 available for APT; otherwise it will likely fail ungracefully, so
227 for memory restricted devices this value should be lowered while on
228 systems with a lot of configured sources it should be increased.
229 Cache-Grow defines in bytes with the default of 1048576 (~1 MB) how
230 much the cache size will be increased in the event the space
231 defined by Cache-Start is not enough. This value will be applied
232 again and again until either the cache is big enough to store all
233 information or the size of the cache reaches the Cache-Limit. The
234 default of Cache-Limit is 0 which stands for no limit. If
235 Cache-Grow is set to 0 the automatic growth of the cache is
236 disabled.
237
238 Build-Essential
239 Defines which packages are considered essential build dependencies.
240
241 Get
242 The Get subsection controls the apt-get(8) tool; please see its
243 documentation for more information about the options here.
244
245 Cache
246 The Cache subsection controls the apt-cache(8) tool; please see its
247 documentation for more information about the options here.
248
249 CDROM
250 The CDROM subsection controls the apt-cdrom(8) tool; please see its
251 documentation for more information about the options here.
252
254 The Acquire group of options controls the download of packages as well
255 as the various "acquire methods" responsible for the download itself
256 (see also sources.list(5)).
257
258 Check-Date
259 Security related option defaulting to true, enabling time-related
260 checks. Disabling it means that the machine's time cannot be
261 trusted, and APT will hence disable all time-related checks, such
262 as Check-Valid-Until and verifying that the Date field of a release
263 file is not in the future.
264
265 Max-FutureTime
266 Maximum time (in seconds) before its creation (as indicated by the
267 Date header) that the Release file should be considered valid. The
268 default value is 10. Archive specific settings can be made by
269 appending the label of the archive to the option name. Preferably,
270 the same can be achieved for specific sources.list(5) entries by
271 using the Date-Max-Future option there.
272
273 Check-Valid-Until
274 Security related option defaulting to true, as giving a Release
275 file's validation an expiration date prevents replay attacks over a
276 long timescale, and can also for example help users to identify
277 mirrors that are no longer updated - but the feature depends on the
278 correctness of the clock on the user system. Archive maintainers
279 are encouraged to create Release files with the Valid-Until header,
280 but if they don't or a stricter value is desired the Max-ValidTime
281 option below can be used. The Check-Valid-Until option of
282 sources.list(5) entries should be preferred to disable the check
283 selectively instead of using this global override.
284
285 Max-ValidTime
286 Maximum time (in seconds) after its creation (as indicated by the
287 Date header) that the Release file should be considered valid. If
288 the Release file itself includes a Valid-Until header the earlier
289 date of the two is used as the expiration date. The default value
290 is 0 which stands for "valid forever". Archive specific settings
291 can be made by appending the label of the archive to the option
292 name. Preferably, the same can be achieved for specific
293 sources.list(5) entries by using the Valid-Until-Max option there.
294
295 Min-ValidTime
296 Minimum time (in seconds) after its creation (as indicated by the
297 Date header) that the Release file should be considered valid. Use
298 this if you need to use a seldom updated (local) mirror of a more
299 frequently updated archive with a Valid-Until header instead of
300 completely disabling the expiration date checking. Archive specific
301 settings can and should be used by appending the label of the
302 archive to the option name. Preferably, the same can be achieved
303 for specific sources.list(5) entries by using the Valid-Until-Min
304 option there.
305
306 AllowTLS
307 Allow use of the internal TLS support in the http method. If set to
308 false, this completely disables support for TLS in apt's own
309 methods (excluding the curl-based https method). No TLS-related
310 functions will be called anymore.
311
312 PDiffs
313 Try to download deltas called PDiffs for indexes (like Packages
314 files) instead of downloading whole ones. True by default.
315 Preferably, this can be set for specific sources.list(5) entries or
316 index files by using the PDiffs option there.
317
318 Two sub-options to limit the use of PDiffs are also available:
319 FileLimit can be used to specify a maximum number of PDiff files
320 should be downloaded to update a file. SizeLimit on the other hand
321 is the maximum percentage of the size of all patches compared to
322 the size of the targeted file. If one of these limits is exceeded
323 the complete file is downloaded instead of the patches.
324
325 By-Hash
326 Try to download indexes via an URI constructed from a hashsum of
327 the expected file rather than downloaded via a well-known stable
328 filename. True by default, but automatically disabled if the source
329 indicates no support for it. Usage can be forced with the special
330 value "force". Preferably, this can be set for specific
331 sources.list(5) entries or index files by using the By-Hash option
332 there.
333
334 Queue-Mode
335 Queuing mode; Queue-Mode can be one of host or access which
336 determines how APT parallelizes outgoing connections. host means
337 that one connection per target host will be opened, access means
338 that one connection per URI type will be opened.
339
340 Retries
341 Number of retries to perform. If this is non-zero APT will retry
342 failed files the given number of times.
343
344 Source-Symlinks
345 Use symlinks for source archives. If set to true then source
346 archives will be symlinked when possible instead of copying. True
347 is the default.
348
349 http https
350 The options in these scopes configure APT's acquire transports for
351 the protocols HTTP and HTTPS and are documented in the apt-
352 transport-http(1) and apt-transport-https(1) manpages respectively.
353
354 ftp
355 ftp::Proxy sets the default proxy to use for FTP URIs. It is in the
356 standard form of ftp://[[user][:pass]@]host[:port]/. Per host
357 proxies can also be specified by using the form ftp::Proxy::<host>
358 with the special keyword DIRECT meaning to use no proxies. If no
359 one of the above settings is specified, ftp_proxy environment
360 variable will be used. To use an FTP proxy you will have to set the
361 ftp::ProxyLogin script in the configuration file. This entry
362 specifies the commands to send to tell the proxy server what to
363 connect to. Please see
364 /usr/share/doc/apt/examples/configure-index.gz for an example of
365 how to do this. The substitution variables representing the
366 corresponding URI component are $(PROXY_USER), $(PROXY_PASS),
367 $(SITE_USER), $(SITE_PASS), $(SITE) and $(SITE_PORT).
368
369 The option timeout sets the timeout timer used by the method; this
370 value applies to the connection as well as the data timeout.
371
372 Several settings are provided to control passive mode. Generally it
373 is safe to leave passive mode on; it works in nearly every
374 environment. However, some situations require that passive mode be
375 disabled and port mode FTP used instead. This can be done globally
376 or for connections that go through a proxy or for a specific host
377 (see the sample config file for examples).
378
379 It is possible to proxy FTP over HTTP by setting the ftp_proxy
380 environment variable to an HTTP URL - see the discussion of the
381 http method above for syntax. You cannot set this in the
382 configuration file and it is not recommended to use FTP over HTTP
383 due to its low efficiency.
384
385 The setting ForceExtended controls the use of RFC2428 EPSV and EPRT
386 commands. The default is false, which means these commands are only
387 used if the control connection is IPv6. Setting this to true forces
388 their use even on IPv4 connections. Note that most FTP servers do
389 not support RFC2428.
390
391 cdrom
392 For URIs using the cdrom method, the only configurable option is
393 the mount point, cdrom::Mount, which must be the mount point for
394 the CD-ROM (or DVD, or whatever) drive as specified in /etc/fstab.
395 It is possible to provide alternate mount and unmount commands if
396 your mount point cannot be listed in the fstab. The syntax is to
397 put
398
399 /cdrom/::Mount "foo";
400
401 within the cdrom block. It is important to have the trailing slash.
402 Unmount commands can be specified using UMount.
403
404 gpgv
405 For GPGV URIs the only configurable option is gpgv::Options, which
406 passes additional parameters to gpgv.
407
408 CompressionTypes
409 List of compression types which are understood by the acquire
410 methods. Files like Packages can be available in various
411 compression formats. By default the acquire methods can decompress
412 and recompress many common formats like xz and gzip; with this
413 scope the supported formats can be queried, modified as well as
414 support for more formats added (see also APT::Compressor). The
415 syntax for this is:
416
417 Acquire::CompressionTypes::FileExtension "Methodname";
418
419 Also, the Order subgroup can be used to define in which order the
420 acquire system will try to download the compressed files. The
421 acquire system will try the first and proceed with the next
422 compression type in this list on error, so to prefer one over the
423 other type simply add the preferred type first - types not already
424 added will be implicitly appended to the end of the list, so e.g.
425
426 Acquire::CompressionTypes::Order:: "gz";
427
428 can be used to prefer gzip compressed files over all other
429 compression formats. If xz should be preferred over gzip and bzip2
430 the configure setting should look like this:
431
432 Acquire::CompressionTypes::Order { "xz"; "gz"; };
433
434 It is not needed to add bz2 to the list explicitly as it will be
435 added automatically.
436
437 Note that the Dir::Bin::Methodname will be checked at run time. If
438 this option has been set and support for this format isn't directly
439 built into apt, the method will only be used if this file exists;
440 e.g. for the bzip2 method (the inbuilt) setting is:
441
442 Dir::Bin::bzip2 "/bin/bzip2";
443
444 Note also that list entries specified on the command line will be
445 added at the end of the list specified in the configuration files,
446 but before the default entries. To prefer a type in this case over
447 the ones specified in the configuration files you can set the
448 option direct - not in list style. This will not override the
449 defined list; it will only prefix the list with this type.
450
451 The special type uncompressed can be used to give uncompressed
452 files a preference, but note that most archives don't provide
453 uncompressed files so this is mostly only usable for local mirrors.
454
455 GzipIndexes
456 When downloading gzip compressed indexes (Packages, Sources, or
457 Translations), keep them gzip compressed locally instead of
458 unpacking them. This saves quite a lot of disk space at the expense
459 of more CPU requirements when building the local package caches.
460 False by default.
461
462 Languages
463 The Languages subsection controls which Translation files are
464 downloaded and in which order APT tries to display the
465 description-translations. APT will try to display the first
466 available description in the language which is listed first.
467 Languages can be defined with their short or long language codes.
468 Note that not all archives provide Translation files for every
469 language - the long language codes are especially rare.
470
471 The default list includes "environment" and "en". "environment" has
472 a special meaning here: it will be replaced at runtime with the
473 language codes extracted from the LC_MESSAGES environment variable.
474 It will also ensure that these codes are not included twice in the
475 list. If LC_MESSAGES is set to "C" only the Translation-en file (if
476 available) will be used. To force APT to use no Translation file
477 use the setting Acquire::Languages=none. "none" is another special
478 meaning code which will stop the search for a suitable Translation
479 file. This tells APT to download these translations too, without
480 actually using them unless the environment specifies the languages.
481 So the following example configuration will result in the order
482 "en, de" in an English locale or "de, en" in a German one. Note
483 that "fr" is downloaded, but not used unless APT is used in a
484 French locale (where the order would be "fr, de, en").
485
486 Acquire::Languages { "environment"; "de"; "en"; "none"; "fr"; };
487
488 Note: To prevent problems resulting from APT being executed in
489 different environments (e.g. by different users or by other
490 programs) all Translation files which are found in
491 /var/lib/apt/lists/ will be added to the end of the list (after an
492 implicit "none").
493
494 ForceIPv4
495 When downloading, force to use only the IPv4 protocol.
496
497 ForceIPv6
498 When downloading, force to use only the IPv6 protocol.
499
500 MaxReleaseFileSize
501 The maximum file size of Release/Release.gpg/InRelease files. The
502 default is 10MB.
503
504 EnableSrvRecords
505 This option controls if apt will use the DNS SRV server record as
506 specified in RFC 2782 to select an alternative server to connect
507 to. The default is "true".
508
509 AllowInsecureRepositories
510 Allow update operations to load data files from repositories
511 without sufficient security information. The default value is
512 "false". Concept, implications as well as alternatives are detailed
513 in apt-secure(8).
514
515 AllowWeakRepositories
516 Allow update operations to load data files from repositories which
517 provide security information, but these are deemed no longer
518 cryptographically strong enough. The default value is "false".
519 Concept, implications as well as alternatives are detailed in apt-
520 secure(8).
521
522 AllowDowngradeToInsecureRepositories
523 Allow that a repository that was previously gpg signed to become
524 unsigned during an update operation. When there is no valid
525 signature for a previously trusted repository apt will refuse the
526 update. This option can be used to override this protection. You
527 almost certainly never want to enable this. The default is false.
528 Concept, implications as well as alternatives are detailed in apt-
529 secure(8).
530
531 Changelogs::URI scope
532 Acquiring changelogs can only be done if an URI is known from where
533 to get them. Preferable the Release file indicates this in a
534 'Changelogs' field. If this isn't available the Label/Origin field
535 of the Release file is used to check if a
536 Acquire::Changelogs::URI::Label::LABEL or
537 Acquire::Changelogs::URI::Origin::ORIGIN option exists and if so
538 this value is taken. The value in the Release file can be
539 overridden with Acquire::Changelogs::URI::Override::Label::LABEL or
540 Acquire::Changelogs::URI::Override::Origin::ORIGIN. The value
541 should be a normal URI to a text file, except that package specific
542 data is replaced with the placeholder @CHANGEPATH@. The value for
543 it is: 1. if the package is from a component (e.g. main) this is
544 the first part otherwise it is omitted, 2. the first letter of
545 source package name, except if the source package name starts with
546 'lib' in which case it will be the first four letters. 3. The
547 complete source package name. 4. the complete name again and 5. the
548 source version. The first (if present), second, third and fourth
549 part are separated by a slash ('/') and between the fourth and
550 fifth part is an underscore ('_'). The special value 'no' is
551 available for this option indicating that this source can't be used
552 to acquire changelog files from. Another source will be tried if
553 available in this case.
554
556 Especially with the introduction of the apt binary it can be useful to
557 set certain options only for a specific binary as even options which
558 look like they would effect only a certain binary like
559 APT::Get::Show-Versions effect apt-get as well as apt.
560
561 Setting an option for a specific binary only can be achieved by setting
562 the option inside the Binary::specific-binary scope. Setting the option
563 APT::Get::Show-Versions for the apt only can e.g. by done by setting
564 Binary::apt::APT::Get::Show-Versions instead.
565
566 Note that as seen in the DESCRIPTION section further above you can't
567 set binary-specific options on the commandline itself nor in
568 configuration files loaded via the commandline.
569
571 The Dir::State section has directories that pertain to local state
572 information. lists is the directory to place downloaded package lists
573 in and status is the name of the dpkg(1) status file. preferences is
574 the name of the APT preferences file. Dir::State contains the default
575 directory to prefix on all sub-items if they do not start with / or ./.
576
577 Dir::Cache contains locations pertaining to local cache information,
578 such as the two package caches srcpkgcache and pkgcache as well as the
579 location to place downloaded archives, Dir::Cache::archives. Generation
580 of caches can be turned off by setting pkgcache or srcpkgcache to "".
581 This will slow down startup but save disk space. It is probably
582 preferable to turn off the pkgcache rather than the srcpkgcache. Like
583 Dir::State the default directory is contained in Dir::Cache
584
585 Dir::Etc contains the location of configuration files, sourcelist gives
586 the location of the sourcelist and main is the default configuration
587 file (setting has no effect, unless it is done from the config file
588 specified by APT_CONFIG).
589
590 The Dir::Parts setting reads in all the config fragments in lexical
591 order from the directory specified. After this is done then the main
592 config file is loaded.
593
594 Binary programs are pointed to by Dir::Bin. Dir::Bin::Methods
595 specifies the location of the method handlers and gzip, bzip2, lzma,
596 dpkg, apt-get dpkg-source dpkg-buildpackage and apt-cache specify the
597 location of the respective programs.
598
599 The configuration item RootDir has a special meaning. If set, all paths
600 will be relative to RootDir, even paths that are specified absolutely.
601 So, for instance, if RootDir is set to /tmp/staging and
602 Dir::State::status is set to /var/lib/dpkg/status, then the status file
603 will be looked up in /tmp/staging/var/lib/dpkg/status. If you want to
604 prefix only relative paths, set Dir instead.
605
606 The Ignore-Files-Silently list can be used to specify which files APT
607 should silently ignore while parsing the files in the fragment
608 directories. Per default a file which ends with .disabled, ~, .bak or
609 .dpkg-[a-z]+ is silently ignored. As seen in the last default value
610 these patterns can use regular expression syntax.
611
613 When APT is used as a dselect(1) method several configuration
614 directives control the default behavior. These are in the DSelect
615 section.
616
617 Clean
618 Cache Clean mode; this value may be one of always, prompt, auto,
619 pre-auto and never. always and prompt will remove all packages
620 from the cache after upgrading, prompt (the default) does so
621 conditionally. auto removes only those packages which are no
622 longer downloadable (replaced with a new version for instance).
623 pre-auto performs this action before downloading new packages.
624
625 options
626 The contents of this variable are passed to apt-get(8) as command
627 line options when it is run for the install phase.
628
629 Updateoptions
630 The contents of this variable are passed to apt-get(8) as command
631 line options when it is run for the update phase.
632
633 PromptAfterUpdate
634 If true the [U]pdate operation in dselect(1) will always prompt to
635 continue. The default is to prompt only on error.
636
638 Several configuration directives control how APT invokes dpkg(1). These
639 are in the DPkg section.
640
641 options
642 This is a list of options to pass to dpkg(1). The options must be
643 specified using the list notation and each list item is passed as a
644 single argument to dpkg(1).
645
646 Path
647 This is a string that defines the PATH environment variable used
648 when running dpkg. It may be set to any valid value of that
649 environment variable; or the empty string, in which case the
650 variable is not changed.
651
652 Pre-Invoke, Post-Invoke
653 This is a list of shell commands to run before/after invoking
654 dpkg(1). Like options this must be specified in list notation. The
655 commands are invoked in order using /bin/sh; should any fail APT
656 will abort.
657
658 Pre-Install-Pkgs
659 This is a list of shell commands to run before invoking dpkg(1).
660 Like options this must be specified in list notation. The commands
661 are invoked in order using /bin/sh; should any fail APT will abort.
662 APT will pass the filenames of all .deb files it is going to
663 install to the commands, one per line on the requested file
664 descriptor, defaulting to standard input.
665
666 Version 2 of this protocol sends more information through the
667 requested file descriptor: a line with the text VERSION 2, the APT
668 configuration space, and a list of package actions with filename
669 and version information.
670
671 Each configuration directive line has the form key=value. Special
672 characters (equal signs, newlines, nonprintable characters,
673 quotation marks, and percent signs in key and newlines,
674 nonprintable characters, and percent signs in value) are %-encoded.
675 Lists are represented by multiple key::=value lines with the same
676 key. The configuration section ends with a blank line.
677
678 Package action lines consist of five fields in Version 2: package
679 name (without architecture qualification even if foreign), old
680 version, direction of version change (< for upgrades, > for
681 downgrades, = for no change), new version, action. The version
682 fields are "-" for no version at all (for example when installing a
683 package for the first time; no version is treated as earlier than
684 any real version, so that is an upgrade, indicated as - < 1.23.4).
685 The action field is "**CONFIGURE**" if the package is being
686 configured, "**REMOVE**" if it is being removed, or the filename of
687 a .deb file if it is being unpacked.
688
689 In Version 3 after each version field follows the architecture of
690 this version, which is "-" if there is no version, and a field
691 showing the MultiArch type "same", "foreign", "allowed" or "none".
692 Note that "none" is an incorrect typename which is just kept to
693 remain compatible, it should be read as "no" and users are
694 encouraged to support both.
695
696 The version of the protocol to be used for the command cmd can be
697 chosen by setting DPkg::Tools::options::cmd::Version accordingly,
698 the default being version 1. If APT isn't supporting the requested
699 version it will send the information in the highest version it has
700 support for instead.
701
702 The file descriptor to be used to send the information can be
703 requested with DPkg::Tools::options::cmd::InfoFD which defaults to
704 0 for standard input and is available since version 0.9.11. Support
705 for the option can be detected by looking for the environment
706 variable APT_HOOK_INFO_FD which contains the number of the used
707 file descriptor as a confirmation.
708
709 Run-Directory
710 APT chdirs to this directory before invoking dpkg(1), the default
711 is /.
712
713 Build-options
714 These options are passed to dpkg-buildpackage(1) when compiling
715 packages; the default is to disable signing and produce all
716 binaries.
717
718 DPkg::ConfigurePending
719 If this option is set APT will call dpkg --configure --pending to
720 let dpkg(1) handle all required configurations and triggers. This
721 option is activated by default, but deactivating it could be useful
722 if you want to run APT multiple times in a row - e.g. in an
723 installer. In this scenario you could deactivate this option in all
724 but the last run.
725
727 APT::Periodic and APT::Archives groups of options configure behavior of
728 apt periodic updates, which is done by the
729 /usr/lib/apt/apt.systemd.daily script. See the top of this script for
730 the brief documentation of these options.
731
733 Enabling options in the Debug:: section will cause debugging
734 information to be sent to the standard error stream of the program
735 utilizing the apt libraries, or enable special program modes that are
736 primarily useful for debugging the behavior of apt. Most of these
737 options are not interesting to a normal user, but a few may be:
738
739 • Debug::pkgProblemResolver enables output about the decisions made
740 by dist-upgrade, upgrade, install, remove, purge.
741
742 • Debug::NoLocking disables all file locking. This can be used to run
743 some operations (for instance, apt-get -s install) as a non-root
744 user.
745
746 • Debug::pkgDPkgPM prints out the actual command line each time that
747 apt invokes dpkg(1).
748
749 • Debug::IdentCdrom disables the inclusion of statfs data in CD-ROM
750 IDs.
751
752 A full list of debugging options to apt follows.
753
754 Debug::Acquire::cdrom
755 Print information related to accessing cdrom:// sources.
756
757 Debug::Acquire::ftp
758 Print information related to downloading packages using FTP.
759
760 Debug::Acquire::http
761 Print information related to downloading packages using HTTP.
762
763 Debug::Acquire::https
764 Print information related to downloading packages using HTTPS.
765
766 Debug::Acquire::gpgv
767 Print information related to verifying cryptographic signatures
768 using gpg.
769
770 Debug::aptcdrom
771 Output information about the process of accessing collections of
772 packages stored on CD-ROMs.
773
774 Debug::BuildDeps
775 Describes the process of resolving build-dependencies in apt-
776 get(8).
777
778 Debug::Hashes
779 Output each cryptographic hash that is generated by the apt
780 libraries.
781
782 Debug::IdentCDROM
783 Do not include information from statfs, namely the number of used
784 and free blocks on the CD-ROM filesystem, when generating an ID for
785 a CD-ROM.
786
787 Debug::NoLocking
788 Disable all file locking. For instance, this will allow two
789 instances of “apt-get update” to run at the same time.
790
791 Debug::pkgAcquire
792 Log when items are added to or removed from the global download
793 queue.
794
795 Debug::pkgAcquire::Auth
796 Output status messages and errors related to verifying checksums
797 and cryptographic signatures of downloaded files.
798
799 Debug::pkgAcquire::Diffs
800 Output information about downloading and applying package index
801 list diffs, and errors relating to package index list diffs.
802
803 Debug::pkgAcquire::RRed
804 Output information related to patching apt package lists when
805 downloading index diffs instead of full indices.
806
807 Debug::pkgAcquire::Worker
808 Log all interactions with the sub-processes that actually perform
809 downloads.
810
811 Debug::pkgAutoRemove
812 Log events related to the automatically-installed status of
813 packages and to the removal of unused packages.
814
815 Debug::pkgDepCache::AutoInstall
816 Generate debug messages describing which packages are being
817 automatically installed to resolve dependencies. This corresponds
818 to the initial auto-install pass performed in, e.g., apt-get
819 install, and not to the full apt dependency resolver; see
820 Debug::pkgProblemResolver for that.
821
822 Debug::pkgDepCache::Marker
823 Generate debug messages describing which packages are marked as
824 keep/install/remove while the ProblemResolver does his work. Each
825 addition or deletion may trigger additional actions; they are shown
826 indented two additional spaces under the original entry. The format
827 for each line is MarkKeep, MarkDelete or MarkInstall followed by
828 package-name <a.b.c -> d.e.f | x.y.z> (section) where a.b.c is the
829 current version of the package, d.e.f is the version considered for
830 installation and x.y.z is a newer version, but not considered for
831 installation (because of a low pin score). The later two can be
832 omitted if there is none or if it is the same as the installed
833 version. section is the name of the section the package appears
834 in.
835
836 Debug::pkgDPkgPM
837 When invoking dpkg(1), output the precise command line with which
838 it is being invoked, with arguments separated by a single space
839 character.
840
841 Debug::pkgDPkgProgressReporting
842 Output all the data received from dpkg(1) on the status file
843 descriptor and any errors encountered while parsing it.
844
845 Debug::pkgOrderList
846 Generate a trace of the algorithm that decides the order in which
847 apt should pass packages to dpkg(1).
848
849 Debug::pkgPackageManager
850 Output status messages tracing the steps performed when invoking
851 dpkg(1).
852
853 Debug::pkgPolicy
854 Output the priority of each package list on startup.
855
856 Debug::pkgProblemResolver
857 Trace the execution of the dependency resolver (this applies only
858 to what happens when a complex dependency problem is encountered).
859
860 Debug::pkgProblemResolver::ShowScores
861 Display a list of all installed packages with their calculated
862 score used by the pkgProblemResolver. The description of the
863 package is the same as described in Debug::pkgDepCache::Marker
864
865 Debug::sourceList
866 Print information about the vendors read from
867 /etc/apt/vendors.list.
868
869 Debug::RunScripts
870 Display the external commands that are called by apt hooks. This
871 includes e.g. the config options DPkg::{Pre,Post}-Invoke or
872 APT::Update::{Pre,Post}-Invoke.
873
875 /usr/share/doc/apt/examples/configure-index.gz is a configuration file
876 showing example values for all possible options.
877
879 /etc/apt/apt.conf
880 APT configuration file. Configuration Item: Dir::Etc::Main.
881
882 /etc/apt/apt.conf.d/
883 APT configuration file fragments. Configuration Item:
884 Dir::Etc::Parts.
885
887 apt-cache(8), apt-config(8), apt_preferences(5).
888
890 APT bug page[1]. If you wish to report a bug in APT, please see
891 /usr/share/doc/debian/bug-reporting.txt or the reportbug(1) command.
892
894 Jason Gunthorpe
895
896 APT team
897
898 Daniel Burrows <dburrows@debian.org>
899 Initial documentation of Debug::*.
900
902 1. APT bug page
903 http://bugs.debian.org/src:apt
904
905
906
907APT 2.4.5 03 January 2016 APT.CONF(5)