1 /* This file is an index of all APT configuration directives. It should
 
   2    NOT actually be used as a real config file, though it is (except for the
 
   3    last line) a completely valid file. Most of the options have sane default
 
   4    values, unless you have specific needs you should NOT include arbitrary
 
   5    items in a custom configuration.
 
   7    In some instances involving filenames it is possible to set the default
 
   8    directory when the path is evaluated. This means you can use relative
 
   9    paths within the sub scope.
 
  11    The configuration directives are specified in a tree with {} designating
 
  12    a subscope relative to the tag before the {}. You can further specify
 
  13    a subscope using scope notation eg,
 
  14      APT::Architecture "i386";
 
  15    This is prefixed with the current scope. Scope notation must be used
 
  16    if an option is specified on the command line with -o.
 
  20 quiet::NoUpdate "true"; // never update progress information - included in -q=1
 
  22 // Options for APT in general
 
  26   Architectures { "amd64"; "armel"; };
 
  27   Build-Essential "build-essential";
 
  29   NeverAutoRemove  { "linux-image.*";  };  // packages that should never
 
  30                                             // considered for autoRemove
 
  32   // Options for apt-get
 
  35      Host-Architecture "armel";
 
  37      AllowUnauthenticated "false";        // packages from unauthenticated
 
  38      AutomaticRemove "false";       
 
  39      HideAutoRemove "false";
 
  40      Download-Only "false";
 
  43      Force-Yes "false";             // I would never set this.
 
  46      Show-Upgraded "false";
 
  47      Show-Versions "false";
 
  60      Build-Dep-Automatic "true";
 
  61      Show-User-Simulation-Note "true";
 
  69      RecurseDepends "false";
 
  87      Pre-Invoke {"touch /var/lib/apt/pre-update-stamp"; };
 
  88      Post-Invoke {"touch /var/lib/apt/post-update-stamp"; };
 
  91   // define a new supported compressor on the fly
 
  92   APT::Compressor::rev {
 
  94      Extension ".reversed";
 
 103      TrustCDROM "false";            // consider the CD-ROM always trusted
 
 106   // Some general options
 
 108   Clean-Installed "true";
 
 109   Immediate-Configure "true";      // DO NOT turn this off, see the man page
 
 110   Force-LoopBreak "false";         // DO NOT turn this on, see the man page
 
 111   Cache-Start "20971520";
 
 112   Cache-Grow "1048576";
 
 116   // consider Recommends, Suggests as important dependencies that should
 
 117   // be installed by default
 
 118   Install-Recommends "true";
 
 119   Install-Suggests "false";
 
 120   // reverse Recommends or Suggests prevent autoremoval
 
 121   AutoRemove::RecommendsImportant "true";
 
 122   AutoRemove::SuggestsImportant "true";
 
 124   // consider dependencies of packages in this section manual
 
 125   Never-MarkAuto-Sections {"metapackages"; "universe/metapackages"; };
 
 127   // Write progress messages on this fd (for stuff like base-config)
 
 129   // Keep the list of FDs open (normally apt closes all fds when it
 
 133   // control parameters for cron jobs by /etc/cron.daily/apt
 
 136     BackupArchiveInterval "0";
 
 137     // - Backup after n-days if archive contents changed.(0=disable)
 
 140     // - Backup level.(0=disable), 1 is invalid.
 
 142     // APT::Archives::MaxAge "0"; (old, deprecated)
 
 144     // - Set maximum allowed age of a cache package file. If a cache 
 
 145     //   package file is older it is deleted (0=disable)
 
 147     // APT::Archives::MinAge "2"; (old, deprecated)
 
 149     // - Set minimum age of a package file. If a file is younger it
 
 150     //   will not be deleted (0=disable). Useful to prevent races
 
 151     //   and to keep backups of the packages for emergency.
 
 153     // APT::Archives::MaxSize "0"; (old, deprecated)
 
 154     MaxSize "0"; // (new)
 
 155     // - Set maximum size of the cache in MB (0=disable). If the cache
 
 156     //   is bigger, cached package files are deleted until the size
 
 157     //   requirement is met (the oldest packages will be deleted 
 
 160     Update-Package-Lists "0";
 
 161     // - Do "apt-get update" automatically every n-days (0=disable)
 
 163     Download-Upgradeable-Packages "0";
 
 164     // - Do "apt-get upgrade --download-only" every n-days (0=disable)
 
 166     Unattended-Upgrade "0";
 
 167     // - Run the "unattended-upgrade" security upgrade script 
 
 168     //   every n-days (0=disabled)
 
 169     //   Requires the package "unattended-upgrades" and will write
 
 170     //   a log in /var/log/unattended-upgrades
 
 172     AutocleanInterval "0";
 
 173     // - Do "apt-get autoclean" every n-days (0=disable)
 
 176     // - Send report mail to root
 
 177     //   0:  no report             (or null string)
 
 178     //   1:  progress report       (actually any string)
 
 179     //   2:  + command outputs     (remove -qq, remove 2>/dev/null, add -d)
 
 184 // Options for the downloading routines
 
 187   Queue-Mode "host";       // host|access
 
 189   Source-Symlinks "true";
 
 190   ForceHash "sha256"; // hashmethod used for expected hash: sha256, sha1 or md5sum
 
 192   PDiffs "true";     // try to get the IndexFile diffs
 
 193   PDiffs::FileLimit "4"; // don't use diffs if we would need more than 4 diffs
 
 194   PDiffs::SizeLimit "50"; // don't use diffs if size of all patches excess
 
 195                           // 50% of the size of the original file
 
 197   Check-Valid-Until "true";
 
 198   Max-ValidTime "864000"; // 10 days
 
 199   Max-ValidTime::Debian-Security "604800"; // 7 days, label specific configuration
 
 201   // HTTP method configuration
 
 204     Proxy "http://127.0.0.1:3128";
 
 205     Proxy::http.us.debian.org "DIRECT";  // Specific per-host setting
 
 208     AllowRedirect  "true";
 
 210     // Cache Control. Note these do not work with Squid 2.0.2
 
 212     Max-Age "86400";     // 1 Day age on index files
 
 213     No-Store "false";    // Prevent the cache from storing archives    
 
 214     Dl-Limit "7";        // 7Kb/sec maximum download rate
 
 215     User-Agent "Debian APT-HTTP/1.3";
 
 220   // HTTPS method configuration: uses the http
 
 222   // - cache-control values
 
 223   // - Dl-Limit, Timout, ... values
 
 224   // if not set explicit for https
 
 226   // see /usr/share/doc/apt/examples/apt-https-method-example.conf.gz
 
 231         SslCert "/etc/apt/some.pem";
 
 232         CaPath  "/etc/ssl/certs";
 
 234         AllowRedirect  "true";
 
 237         AllowRedirect  "true";
 
 239         // Cache Control. Note these do not work with Squid 2.0.2
 
 241         Max-Age "86400";     // 1 Day age on index files
 
 242         No-Store "false";    // Prevent the cache from storing archives
 
 243         Dl-Limit "7";        // 7Kb/sec maximum download rate
 
 245         User-Agent "Debian APT-CURL/1.0";
 
 250     Proxy "ftp://127.0.0.1/";
 
 251     Proxy::http.us.debian.org "DIRECT"; // Specific per-host setting
 
 253     /* Required script to perform proxy login. This example should work
 
 257        "USER $(PROXY_USER)";
 
 258        "PASS $(PROXY_PASS)";
 
 259        "USER $(SITE_USER)@$(SITE):$(SITE_PORT)";
 
 265     /* Passive mode control, proxy, non-proxy and per-host. Pasv mode
 
 266        is preferred if possible */
 
 268     Proxy::Passive "true";
 
 269     Passive::http.us.debian.org "true"; // Specific per-host setting
 
 274     // do auto detection of the cdrom mountpoint
 
 276     // when auto-detecting, only look for cdrom/dvd. when this is false
 
 277     // it will support any removable device as a "cdrom" source
 
 280     // cdrom mountpoint (needs to be defined in fstab if AutoDetect is not used)
 
 283     // You need the trailing slash!
 
 293    Options {"--ignore-time-conflict";}  // not very useful on a normal system
 
 302     Order { "uncompressed"; "gz"; "lzma"; "bz2"; };
 
 314   // Location of the changelogs with the placeholder @CHANGEPATH@ (e.g. "main/a/apt/apt_1.1")
 
 315   Changelogs::URI::Origin::Debian "http://metadata.ftp-master.debian.org/changelogs/@CHANGEPATH@_changelog";
 
 321   // Location of the state dir
 
 325      status "/var/lib/dpkg/status";
 
 326      extended_states "extended_states";
 
 327      cdroms "cdroms.list";
 
 330   // Location of the cache dir
 
 331   Cache "var/cache/apt/" {
 
 332      Archives "archives/";
 
 333      // backup directory created by /etc/cron.daily/apt
 
 335      srcpkgcache "srcpkgcache.bin";
 
 336      pkgcache "pkgcache.bin";     
 
 344      Preferences "preferences";
 
 345      PreferencesParts "preferences.d";
 
 346      SourceList "sources.list";
 
 347      SourceParts "sources.list.d";
 
 348      VendorList "vendors.list";
 
 349      VendorParts "vendors.list.d";
 
 350      Trusted "trusted.gpg";
 
 351      TrustedParts "trusted.gpg.d";
 
 354   // Locations of binaries
 
 356      methods "/usr/lib/apt/methods/";
 
 359      dpkg "/usr/bin/dpkg";
 
 360      dpkg-source "/usr/bin/dpkg-source";
 
 361      dpkg-buildpackage "/usr/bin/dpkg-buildpackage";
 
 362      apt-get "/usr/bin/apt-get";
 
 363      apt-cache "/usr/bin/apt-cache";
 
 366   // Location of the logfile
 
 369         History "history.log";
 
 375         // Media AutoDetect mount path
 
 376         MountPath "/media/apt";
 
 382         // Media AutoDetect mount path
 
 383         MountPath "/media/apt";
 
 387 // Things that effect the APT dselect method
 
 390    Clean "auto";   // always|auto|prompt|never
 
 393    PromptAfterUpdate "no";
 
 399    // let apt aggressivly use dpkg triggers
 
 401    ConfigurePending "true";
 
 403    // Probably don't want to use force-downgrade..
 
 404    Options {"--force-overwrite";"--force-downgrade";}
 
 406    // Auto re-mounting of a readonly /usr
 
 407    Pre-Invoke {"mount -o remount,rw /usr";};
 
 408    Post-Invoke {"mount -o remount,ro /usr";};
 
 410    Chroot-Directory "/";
 
 412    // Prevents daemons from getting cwd as something mountable (default)
 
 415    // Build options for apt-get source --compile
 
 416    Build-Options "-b -uc";
 
 418    // Pre-configure all packages before they are installed using debconf.
 
 419    Pre-Install-Pkgs {"dpkg-preconfigure --apt --priority=low --frontend=dialog";};
 
 421    // Flush the contents of stdin before forking dpkg.
 
 424    // Control the size of the command line passed to dpkg.
 
 428    // controls if apt will apport on the first dpkg error or if it 
 
 429    // tries to install as many packages as possible
 
 433 /* Options you can set to see some debugging text They correspond to names
 
 434    of classes in the source code */
 
 437   pkgProblemResolver "false";
 
 438   pkgProblemResolver::ShowScores "false";
 
 439   pkgDepCache::AutoInstall "false"; // what packages apt install to satify dependencies
 
 440   pkgDepCache::Marker "false"; 
 
 443   pkgAcquire::Worker "false";
 
 444   pkgAcquire::Auth "false";
 
 446   pkgDPkgProgressReporting "false";
 
 447   pkgOrderList "false";
 
 448   pkgPackageManager "false"; // OrderList/Configure debugging
 
 449   pkgAutoRemove "false";   // show information about automatic removes
 
 451   pkgInitialize "false";   // This one will dump the configuration space
 
 453   Acquire::Ftp "false";    // Show ftp command traffic
 
 454   Acquire::Http "false";   // Show http command traffic
 
 455   Acquire::Https "false";   // Show https debug
 
 456   Acquire::gpgv "false";   // Show the gpgv traffic
 
 457   Acquire::cdrom "false";   // Show cdrom debug output
 
 458   aptcdrom "false";        // Show found package files
 
 460   acquire::netrc "false";  // netrc parser
 
 461   RunScripts "false";      // debug invocation of external scripts  
 
 466   Essential "native"; // other modes: all, none, installed
 
 467   ForceEssential { "apt"; };
 
 471 /* Whatever you do, do not use this configuration file!! Take out ONLY
 
 472    the portions you need! */
 
 473 This Is Not A Valid Config File