]> git.saurik.com Git - apt.git/blobdiff - doc/apt.conf.5.xml
methods/gzip.cc: With FileFd now being able to read gzipped files, there
[apt.git] / doc / apt.conf.5.xml
index e2db9defbd6424bc2c1f4a6705f1fe8ced509023..410489a730def7916ea51cf07d1ffbac043e586f 100644 (file)
@@ -21,7 +21,7 @@
    &apt-email;
    &apt-product;
    <!-- The last update date -->
-   <date>18 September 2009</date>
+   <date>16 January 2010</date>
  </refentryinfo>
  
  <refmeta>
  </refnamediv>
  
  <refsect1><title>Description</title>
-   <para><filename>apt.conf</filename> is the main configuration file for the APT suite of
-   tools, all tools make use of the configuration file and a common command line
-   parser to provide a uniform environment. When an APT tool starts up it will
-   read the configuration specified by the <envar>APT_CONFIG</envar> environment 
-   variable (if any) and then read the files in <literal>Dir::Etc::Parts</literal> 
-   then read the main configuration file specified by 
-   <literal>Dir::Etc::main</literal> then finally apply the
-   command line options to override the configuration directives, possibly 
-   loading even more config files.</para>
-
+ <para><filename>apt.conf</filename> is the main configuration file for
+   the APT suite of tools, but by far not the only place changes to options
+   can be made. All tools therefore share the configuration files and also
+   use a common command line parser to provide a uniform environment.</para>
+   <orderedlist>
+      <para>When an APT tool starts up it will read the configuration files
+      in the following order:</para>
+      <listitem><para>the file specified by the <envar>APT_CONFIG</envar>
+        environment variable (if any)</para></listitem>
+      <listitem><para>all files in <literal>Dir::Etc::Parts</literal> in
+        alphanumeric ascending order which have no or "<literal>conf</literal>"
+        as filename extension and which only contain alphanumeric,
+        hyphen (-), underscore (_) and period (.) characters -
+        otherwise they will be silently ignored.</para></listitem>
+      <listitem><para>the main configuration file specified by
+        <literal>Dir::Etc::main</literal></para></listitem>
+      <listitem><para>the command line options are applied to override the
+        configuration directives or to load even more configuration files.</para></listitem>
+   </orderedlist>
+   </refsect1>
+   <refsect1><title>Syntax</title>
    <para>The configuration file is organized in a tree with options organized into
    functional groups. Option specification is given with a double colon
    notation, for instance <literal>APT::Get::Assume-Yes</literal> is an option within 
@@ -142,7 +153,7 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
         <listitem><para>Default release to install packages from if more than one
         version available. Contains release name, codename or release version. Examples: 'stable', 'testing', 'unstable', 'lenny', 'squeeze', '4.0', '5.0*'. See also &apt-preferences;.</para></listitem>
      </varlistentry>
-     
+
      <varlistentry><term>Ignore-Hold</term>
      <listitem><para>Ignore Held packages; This global option causes the problem resolver to
      ignore held packages in its decision making.</para></listitem>
@@ -166,10 +177,10 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
      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
+     that APT encounters a situation in which it is unable to perform immediate configuration, errors out and
+     refers to this option so the user can deactivate the immediate configuration temporarily to be able to perform
      an install/upgrade again. Note the use of the word "theory" here as this problem was only encountered by now
-     in real world a few times in non-stable distribution versions and caused by wrong dependencies of the package
+     in real world a few times in non-stable distribution versions and was caused by wrong dependencies of the package
      in question or by a system in an already broken state, so you should not blindly disable this option as
      the mentioned scenario above is not the only problem immediate configuration can help to prevent in the first place.
      Before a big operation like <literal>dist-upgrade</literal> is run with this option disabled it should be tried to
@@ -221,7 +232,14 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
      <varlistentry><term>PDiffs</term>
         <listitem><para>Try to download deltas called <literal>PDiffs</literal> for
         Packages or Sources files instead of downloading whole ones. True
-        by default.</para></listitem>
+        by default.</para>
+        <para>Two sub-options to limit the use of PDiffs are also available:
+        With <literal>FileLimit</literal> can be specified how many PDiff files
+        are downloaded at most to patch a file. <literal>SizeLimit</literal>
+        on the other hand is the maximum precentage of the size of all patches
+        compared to the size of the targeted file. If one of these limits is
+        exceeded the complete file is downloaded instead of the patches.
+        </para></listitem>
      </varlistentry>
 
      <varlistentry><term>Queue-Mode</term>
@@ -275,13 +293,20 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
      <para>The used bandwidth can be limited with <literal>Acquire::http::Dl-Limit</literal>
      which accepts integer values in kilobyte. The default value is 0 which deactivates
      the limit and tries uses as much as possible of the bandwidth (Note that this option implicit
-     deactivates the download from multiple servers at the same time.)</para></listitem>
+     deactivates the download from multiple servers at the same time.)</para>
+
+     <para><literal>Acquire::http::User-Agent</literal> can be used to set a different
+     User-Agent for the http download method as some proxies allow access for clients
+     only if the client uses a known identifier.</para>
+     </listitem>
      </varlistentry>
 
      <varlistentry><term>https</term>
-        <listitem><para>HTTPS URIs. Cache-control and proxy options are the same as for
-        <literal>http</literal> method.
-        <literal>Pipeline-Depth</literal> option is not supported yet.</para>
+        <listitem><para>HTTPS URIs. Cache-control, Timeout, AllowRedirect, Dl-Limit and
+        proxy options are the same as for <literal>http</literal> method and will also
+        default to the options from the <literal>http</literal> method if they are not
+        explicitly set for https. <literal>Pipeline-Depth</literal> option is not
+        supported yet.</para>
 
         <para><literal>CaInfo</literal> suboption specifies place of file that
         holds info about trusted certificates.
@@ -385,6 +410,36 @@ DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};
      these warnings are most of the time false negatives. Future versions will maybe include a way to
      really prefer uncompressed files to support the usage of local mirrors.</para></listitem>
      </varlistentry>
+
+     <varlistentry><term>GzipIndexes</term>
+        <listitem><para>
+        When downloading <literal>gzip</literal> compressed indexes (Packages, Sources, or
+        Translations), keep them gzip compressed locally instead of unpacking
+        them. This saves quite a lot of disk space at the expense of more CPU
+        requirements when building the local package caches. False by default.
+        </para></listitem>
+     </varlistentry>
+
+     <varlistentry><term>Languages</term>
+     <listitem><para>The Languages subsection controls which <filename>Translation</filename> files are downloaded
+     and in which order APT tries to display the Description-Translations. APT will try to display the first
+     available Description in the Language which is listed at first. Languages can be defined with their
+     short or long Languagecodes. Note that not all archives provide <filename>Translation</filename>
+     files for every Language - especially the long Languagecodes are rare, so please
+     inform you which ones are available before you set here impossible values.</para>
+     <para>The default list includes "environment" and "en". "<literal>environment</literal>" has a special meaning here:
+     It will be replaced at runtime with the languagecodes extracted from the <literal>LC_MESSAGES</literal> environment variable.
+     It will also ensure that these codes are not included twice in the list. If <literal>LC_MESSAGES</literal>
+     is set to "C" only the <filename>Translation-en</filename> file (if available) will be used.
+     To force apt to use no Translation file use the setting <literal>Acquire::Languages=none</literal>. "<literal>none</literal>"
+     is another special meaning code which will stop the search for a fitting <filename>Translation</filename> file.
+     This can be used by the system administrator to let APT know that it should download also this files without
+     actually use them if the environment doesn't specify this languages. So the following example configuration will
+     result in the order "en, de" in an english and in "de, en" in a german localization. Note that "fr" is downloaded,
+     but not used if APT is not used in a french localization, in such an environment the order would be "fr, de, en".
+     <programlisting>Acquire::Languages { "environment"; "de"; "en"; "none"; "fr"; };</programlisting></para></listitem>
+     </varlistentry>
+
    </variablelist>
   </para>
  </refsect1>
@@ -976,6 +1031,7 @@ is commented.
        </listitem>
      </varlistentry>
 -->
+
    </variablelist>
  </refsect1>