apt.conf
APT.CONF(F)                                           APT.CONF(F)



NAME
       apt.conf - Configuration file for APT

DESCRIPTION
       apt.conf  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 environ-
       ment. When an APT tool starts up it will read the configu-
       ration  specified  by  the APT_CONFIG environment variable
       (if any) and then read the files in  Dir::Etc::Parts  then
       read    the   main   configuration   file   specified   by
       Dir::Etc::main then finally apply the command line options
       to override the configuration directives, possibly loading
       even more config files.

       The configuration file is organized in a tree with options
       organized  into functional groups. Option specification is
       given  with  a  double  colon   notation,   for   instance
       APT::Get::Assume-Yes  is  an  option  within  the APT tool
       group, for the Get tool. Options do not inherit from their
       parent groups.

       Syntacticly  the  configuration  language is modeled after
       what the ISC tools such as bind and dhcp use. Each line is
       of the form

       APT::Get::Assume-Yes "true";

       The  trailing  semicolon  is  required  and the quotes are
       optional. A new scope can be  opened  with  curly  braces,
       like:



       APT {
         Get {
           Assume-Yes "true";
           Fix-Broken "true";
         };
       };

       with  newlines  placed to make it more readable. Lists can
       be created by opening a scope and including a single  word
       enclosed  in  quotes  followed  by  a  semicolon. Multiple
       entries can be included, each seperated by a semicolon.



       DPkg::Pre-Install-Pkgs {"/usr/sbin/dpkg-preconfigure --apt";};


       In   general   the   sample    configuration    file    in
       /usr/share/doc/apt//examples/apt.conf
       /usr/share/doc/apt/examples/configure-index.gz is  a  good
       guide for how it should look.

       Two  specials  are allowed, #include and #clear.  #include
       will include the given file, unless the filename ends in a
       slash,  then  the  whole directory is included.  #clear is
       used to erase a list of names.

       All of the APT tools take a  -o  option  which  allows  an
       arbitary  configuration  directive  to be specified on the
       command  line.  The  syntax  is   a   full   option   name
       (APT::Get::Assume-Yes  for instance) followed by an equals
       sign then the new  value  of  the  option.  Lists  can  be
       appended too by adding a trailing :: to the list name.

THE APT GROUP
       This  group  of  options  controls general APT behavoir as
       well as holding the options for all of the tools.

       Architecture
              System Architecture; sets the architecture  to  use
              when  fetching files and parsing package lists. The
              internal default is the architecture apt  was  com-
              piled for.

       Ignore-Hold
              Ignore Held packages; This global option causes the
              problem resolver to ignore  held  packages  in  its
              decision making.

       Clean-Installed
              Defaults  to  on. When turned on the autoclean fea-
              ture will remove any pacakge which can no longer be
              downloaded from the cache. If turned off then pack-
              ages that are locally installed are  also  excluded
              from  cleaning  -  but  note  that  APT provides no
              direct means to reinstall them.

       Immediate-Configure
              Disable  Immedate  Configuration;  This   dangerous
              option  disables  some  of  APT's  ordering code to
              cause it to make fewer dpkg calls. Doing so may  be
              necessary  on  some extremely slow single user sys-
              tems but is very dangerous and  may  cause  package
              install  scripts to fail or worse.  Use at your own
              risk.

       Force-LoopBreak
              Never Enable this option unless you  -really-  know
              what  you  are doing. It permits APT to temporarily
              remove  an  essential  package  to  break  a   Con-
              flicts/Conflicts   or   Conflicts/Pre-Depend   loop
              between two essential packages. SUCH A LOOP  SHOULD
              NEVER  EXIST  AND  IS A GRAVE BUG. This option will
              work if the essential packages are not  tar,  gzip,
              libc,  dpkg,  bash  or anything that those packages
              depend on.

       Cache-Limit
              APT uses a fixed size memory mapped cache  file  to
              store  the  'available'  information. This sets the
              size of that cache.

       Get    The Get subsection controls  the  apt-get(t)  tool,
              please  see  its documentation for more information
              about the options here.

       Cache  The  Cache  subsection  controls  the  apt-cache(e)
              tool,  please see its documentation for more infor-
              mation about the options here.

       CDROM  The  CDROM  subsection  controls  the  apt-cdrom(m)
              tool,  please see its documentation for more infor-
              mation about the options here.


THE ACQUIRE GROUP
       The Acquire group of  options  controls  the  download  of
       packages and the URI handlers.

       Queue-Mode
              Queuing  mode;  Queue-Mode  can  be  one of host or
              access which determines how APT parallelizes outgo-
              ing connections. host means that one connection per
              target host will be opened, access means  that  one
              connection per URI type will be opened.

       Retries
              Number  of  retries to perform. If this is non-zero
              APT will retry failed files  the  given  number  of
              times.

       Source-Symlinks
              Use  symlinks  for  source archives. If set to true
              then source archives will be symlinked when  possi-
              ble instead of copying. True is the default

       http   HTTP URIs; http::Proxy is the default http proxy to
              use.   It   is   in   the    standard    form    of
              http://[[user][:pass]@]host[:port]/. Per host prox-
              ies  can  also  be  specified  by  using  the  form
              http::Proxy::<host> with the special keyword DIRECT
              meaning to use no proxies. The http_proxy  environ-
              ment variable will override all settings.

              Three  settings are provided for cache control with
              HTTP/1.1 complient proxy caches. No-Cache tells the
              proxy  to  not  used  its cached response under any
              circumstances, Max-Age is sent only for index files
              and  tells the cache to refresh its object if it is
              older than the  given  number  of  seconds.  Debian
              updates  its  index files daily so the default is 1
              day. No-Store specifies that the cache should never
              store  this  request,  it  is  only set for archive
              files. This may be useful to  prevent  polluting  a
              proxy cache with very large .deb files. Note: Squid
              2.0.2 does not support any of these options.

              The option timeout sets the timeout timer  used  by
              the  method,  this  applies to all things including
              connection timeout and data timeout.

              One setting is provided  to  control  the  pipeline
              depth  in  cases where the remote server is not RFC
              conforming  or  buggy   (such   as   Squid   2.0.2)
              Acquire::http::Pipeline-Depth can be a value from 0
              to 5 indicating how many outstanding  requests  APT
              should  send.  A value of zero MUST be specified if
              the remote host does not  properly  linger  on  TCP
              connections - otherwise data corruption will occur.
              Hosts which require this are in  violation  of  RFC
              2068.

       ftp    FTP URIs; ftp::Proxy is the default proxy server to
              use.   It   is   in   the    standard    form    of
              ftp://[[user][:pass]@]host[:port]/ and is overriden
              by the ftp_proxy environment variable. To use a ftp
              proxy  you  will  have  to  set the ftp::ProxyLogin
              script in the configuration file. This entry speci-
              fies  the commands to send to tell the proxy server
              what     to     connect     to.     Please      see
              /usr/share/doc/apt/examples/configure-index.gz  for
              an example of how to do this. The subsitution vari-
              ables  available  are $(PROXY_USER), $(PROXY_PASS),
              $(SITE_USER),    $(SITE_PASS),     $(SITE),     and
              $(SITE_PORT).   Each  is taken from it's respective
              URI component.

              The option timeout sets the timeout timer  used  by
              the  method,  this  applies to all things including
              connection timeout and data timeout.

              Several settings are provided  to  control  passive
              mode.  Generally  it  is safe to leave passive mode
              on, it works in nearly every environment.   However
              some  situations  require that passive mode be dis-
              abled and port mode ftp used instead. This  can  be
              done  globally,  for  connections that go through a
              proxy or for a specific host (See the sample config
              file for examples)

              It  is  possible  to proxy FTP over HTTP by setting
              the ftp_proxy environment variable to a http url  -
              see  the  discussion  of  the http method above for
              syntax. You cannot set this  in  the  configuration
              file and it is not recommended to use FTP over HTTP
              due to its low efficiency.

              The  setting  ForceExtended  controls  the  use  of
              RFC2428  EPSV  and  EPRT  commands.  The  defaut is
              false, which means these commands are only used  if
              the  control  connection  is  IPv6. Setting this to
              true forces their use  even  on  IPv4  connections.
              Note  that most FTP servers do not support RFC2428.

       cdrom  CDROM URIs; the only setting for CDROM URIs is  the
              mount  point,  cdrom::Mount which must be the mount
              point  for  the  CDROM  drive   as   specified   in
              /etc/fstab.  It  is  possible  to provide alternate
              mount and unmount commands if your mount point can-
              not  be  listed  in the fstab (such as an SMB mount
              and old mount packages). The syntax is to put

              "/cdrom/"::Mount "foo";

              within the cdrom block. It is important to have the
              trailing  slash.  Unmount commands can be specified
              using UMount.


DIRECTORIES
       The Dir::State section has  directories  that  pertain  to
       local  state  information. lists is the directory to place
       downloaded package lists in and status is the name of  the
       dpkg  status  file.   preferences  is  the name of the APT
       preferences file.  Dir::State contains the default  direc-
       tory  to prefix on all sub items if they do not start with
       / or ./.

       Dir::Cache contains locations pertaining  to  local  cache
       information,  such  as  the two package caches srcpkgcache
       and pkgcache as well as the location to  place  downloaded
       archives,  Dir::Cache::archives.  Generation of caches can
       be turned off by setting their names  to  be  blank.  This
       will slow down startup but save disk space. It is probably
       prefered to turn off the pkgcache rather than the  srcpkg-
       cache.  Like Dir::State the default directory is contained
       in Dir::Cache

       Dir::Etc contains the  location  of  configuration  files,
       sourcelist  gives  the location of the sourcelist and main
       is the default configuration file (setting has no  effect,
       unless  it  is  done  from  the  config  file specified by
       APT_CONFIG).

       The Dir::Parts setting reads in all the  config  fragments
       in  lexical order from the directory specified. After this
       is done then the main config file is loaded.

       Binary programs are pointed to by Dir::Bin. methods speci-
       fies  the  location of the method handlers and gzip, dpkg,
       apt-get,  dpkg-source,  dpkg-buildpackage  and   apt-cache
       specify the location of the respective programs.

APT IN DSELECT
       When APT is used as a dselect(t) method several configura-
       tion directives control the default behaviour.  These  are
       in the DSelect section.

       Clean  Cache  Clean mode; this value may be one of always,
              prompt, auto, pre-auto and never. always and prompt
              will  remove  all  packages  from  the  cache after
              upgrading, prompt (the default) does so  condition-
              ally.   auto  removes only those packages which are
              no longer downloadable (replaced with a new version
              for instance). pre-auto performs this action before
              downloading new packages.

       Options
              The contents of this variable  is  passed  to  apt-
              get(t)  as  command line options when it is run for
              the install phase.

       UpdateOptions
              The contents of this variable  is  passed  to  apt-
              get(t)  as  command line options when it is run for
              the update phase.

       PromptAfterUpdate
              If true the [U]pdate operation in  dselect(t)  will
              always  prompt  to  continue.   The  default  is to
              prompt only on error.


HOW APT CALLS DPKG
       Several configuration directives control how  APT  invokes
       dpkg(g). These are in the DPkg section.

       Options
              This  is  a  list  of  options to pass to dpkg. The
              options must be specified using the  list  notation
              and  each  list item is passed as a single argument
              to dpkg(g).

       Pre-Invoke

       Post-Invoke
              This  is  a  list  of   shell   commands   to   run
              before/after  invoking  dpkg(g).  Like Options this
              must be specified in list  notation.  The  commands
              are invoked in order using /bin/sh, should any fail
              APT will abort.

       Pre-Install-Pkgs
              This is a list of  shell  commands  to  run  before
              invoking  dpkg. Like Options this must be specified
              in list notation. The commands are invoked in order
              using  /bin/sh, should any fail APT will abort. APT
              will pass to the commands  on  standard  input  the
              filenames of all .deb files it is going to install,
              one per line.

              Version 2 of this protocol dumps more  information,
              including  the protocol version, the APT configura-
              tion space and the  packages,  files  and  versions
              being  changed.  Version  2  is  enabled by setting
              DPkg::Tools::Options::cmd::Version to 2. cmd  is  a
              command given to Pre-Install-Pkgs.

       Run-Directory
              APT  chdirs to this directory before invoking dpkg,
              the default is /.

       Build-Options
              These options are  passed  to  dpkg-buildpackage(e)
              when  compiling packages, the default is to disable
              signing and produce all binaries.


DEBUG OPTIONS
       Most of the options in the debug section are not interest-
       ing  to the normal user, however Debug::pkgProblemResolver
       shows interesting output about the decisions  dist-upgrade
       makes.   Debug::NoLocking disables file locking so APT can
       do some operations as non-root and  Debug::pkgDPkgPM  will
       print  out  the  command  line  for  each dpkg invokation.
       Debug::IdentCdrom will disable  the  inclusion  of  statfs
       data in CDROM IDs.

EXAMPLES
       /usr/share/doc/apt/examples/configure-index.gz  contains a
       sample configuration file showing the default  values  for
       all possible options.

FILES
       /etc/apt/apt.conf

SEE ALSO
       apt-cache(e), apt-config(g), apt_preferences(s).

BUGS
       See the APT bug page <URL:http://bugs.debian.org/apt>.  If
       you  wish  to  report   a   bug   in   APT,   please   see
       /usr/share/doc/debian/bug-reporting.txt or the bug(g) com-
       mand.

AUTHOR
       APT was written by the APT team <apt@packages.debian.org>.



                          12 March 2001               APT.CONF(F)