- <varlistentry><term>Immediate-Configure</term>
- <listitem><para>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; 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, error out and
- refers to this option so the user can deactivate the immediate configuration temporary 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 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 <literal>dist-upgrade</literal> is run with this option disabled it should be tried to
- explicitly <literal>install</literal> 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.</para></listitem>
- </varlistentry>
-
- <varlistentry><term>Force-LoopBreak</term>
- <listitem><para>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.</para></listitem>
- </varlistentry>
-
- <varlistentry><term>Cache-Limit</term>
- <listitem><para>APT uses a fixed size memory mapped cache file to store the 'available'
- information. This sets the size of that cache (in bytes).</para></listitem>
- </varlistentry>
-
- <varlistentry><term>Build-Essential</term>
- <listitem><para>Defines which package(s) are considered essential build dependencies.</para></listitem>
- </varlistentry>
-
- <varlistentry><term>Get</term>
- <listitem><para>The Get subsection controls the &apt-get; tool, please see its
+ <varlistentry><term><option>Immediate-Configure</option></term>
+ <listitem><para>
+ Defaults to on, which will cause APT to install essential and important
+ packages as soon as possible in an install/upgrade operation, in order
+ to limit the effect of a failing &dpkg; call. If this option is
+ disabled, APT treats an important package in the same way as an extra
+ package: between the unpacking of the package A and its configuration
+ there can be many other unpack or configuration calls for other
+ unrelated packages B, C etc. If these cause the &dpkg; call to fail
+ (e.g. because package B's maintainer scripts generate an error), this
+ results in a system state in which package A is unpacked but
+ unconfigured - so any package depending on A is now no longer
+ guaranteed to work, as its dependency on A is no longer satisfied.
+ </para><para>
+ The immediate configuration marker is also applied in the potentially
+ problematic case of circular dependencies, since a dependency with the
+ immediate flag is equivalent to a Pre-Dependency. In theory this allows
+ APT to recognise a situation in which it is unable to perform immediate
+ configuration, abort, and suggest to the user that the option should be
+ temporarily deactivated in order to allow the operation to proceed.
+ Note the use of the word "theory" here; in the real world this problem
+ has rarely been encountered, 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 scenario mentioned above is not the only problem it
+ can help to prevent in the first place.
+ </para><para>
+ Before a big operation like <literal>dist-upgrade</literal> is run
+ with this option disabled you should try to explicitly
+ <literal>install</literal> the package APT is unable to configure
+ immediately; but please make sure you also report your problem to your
+ distribution and to the APT team with the buglink below, so they can
+ work on improving or correcting the upgrade process.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry><term><option>Force-LoopBreak</option></term>
+ <listitem><para>
+ Never enable this option unless you <emphasis>really</emphasis> know
+ what you are doing. It permits APT to temporarily remove an essential
+ package to break a Conflicts/Conflicts or Conflicts/Pre-Depends loop
+ between two essential packages. <emphasis>Such a loop should never exist
+ and is a grave bug</emphasis>. This option will work if the essential
+ packages are not <command>tar</command>, <command>gzip</command>,
+ <command>libc</command>, <command>dpkg</command>, <command>dash</command>
+ or anything that those packages depend on.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry><term><option>Cache-Start</option></term><term><option>Cache-Grow</option></term><term><option>Cache-Limit</option></term>
+ <listitem><para>APT uses since version 0.7.26 a resizable memory mapped cache file to store the available
+ information. <literal>Cache-Start</literal> acts as a hint of the size the cache will grow to,
+ and is therefore the amount of memory APT will request at startup. The default value is
+ 20971520 bytes (~20 MB). Note that this amount of space needs to be available for APT;
+ otherwise it will likely fail ungracefully, so for memory restricted devices this value should
+ be lowered while on systems with a lot of configured sources it should be increased.
+ <literal>Cache-Grow</literal> defines in bytes with the default of 1048576 (~1 MB) how much
+ the cache size will be increased in the event the space defined by <literal>Cache-Start</literal>
+ is not enough. This 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 <literal>Cache-Limit</literal>.
+ The default of <literal>Cache-Limit</literal> is 0 which stands for no limit.
+ If <literal>Cache-Grow</literal> is set to 0 the automatic growth of the cache is disabled.
+ </para></listitem>
+ </varlistentry>
+
+ <varlistentry><term><option>Build-Essential</option></term>
+ <listitem><para>Defines which packages are considered essential build dependencies.</para></listitem>
+ </varlistentry>
+
+ <varlistentry><term><option>Get</option></term>
+ <listitem><para>The Get subsection controls the &apt-get; tool; please see its