apt.conf (5)





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 environment. When an APT tool starts up it
       will read the configuration 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 direc-
       tives, 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//exam-
       ples/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 configu-
       ration 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
              architecture apt was compiled 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 feature will remove
              any pacakges which can no longer be downloaded from  the  cache.
              If  turned off then packages 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 systems 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  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 pack-
              ages 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.

       Build-Essential
              Defines which package(s) are considered essential  build  depen-
              dencies.

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

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

       CDROM  The  CDROM subsection controls the apt-cdrom(8) tool, please see
              its documentation for more information 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  outgoing  connections.  host
              means that one connection per target host will be opened, access
              means that one connection per URI type will be opened.

       Retries
              in the standard form of http://[[user][:pass]@]host[:port]/. Per
              host   proxies   can   also  be  specified  by  using  the  form
              http::Proxy::<host> with the special keyword DIRECT  meaning  to
              use  no  proxies. The http_proxy environment variable will over-
              ride all settings.

       Three settings are provided for cache control with  HTTP/1.1  complient
       proxy  caches.  No-Cache tells the proxy to not use 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 connec-
       tions - 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 specifies 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  variables  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 disabled 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 environ-
       ment 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

              "/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
       directory 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 srcpkgcache. 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 specifies the loca-
       tion of the method handlers and gzip, dpkg, apt-get, dpkg-source, dpkg-
       buildpackage and apt-cache specify the location of the respective  pro-
       grams.


APT IN DSELECT

       When  APT  is  used as a dselect(8) method several configuration direc-
       tives 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
              conditionally.  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(8) as command
              line options when it is run for the install phase.

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

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

       Pre-Invoke

       Post-Invoke
              This is a list of shell commands to  run  before/after  invoking
              dpkg(8).   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  com-
              mands  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 proto-
       col  version,  the  APT configuration 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(1) 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 interesting 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 con-
       figuration file showing the default values for all possible options.


FILES

       /etc/apt/apt.conf


SEE ALSO

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


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 reportbug(1) command.


AUTHOR

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