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.
 
  21 // Options for APT in general
 
  25   Build-Essential "build-essential";
 
  27   NeverAutoRemove  { "linux-image.*";  };  // packages that should never
 
  28                                             // considered for autoRemove
 
  30   // Options for apt-get
 
  34      AllowUnauthenticated "false";
 
  35      AutomaticRemove "false";       
 
  36      HideAutoRemove "false";
 
  37      Download-Only "false";
 
  40      Force-Yes "false";             // I would never set this.
 
  43      Show-Upgraded "false";
 
  44      Show-Versions "false";
 
  57      Build-Dep-Automatic "true";
 
  58      Show-User-Simulation-Note "true";
 
  66      RecurseDepends "false";
 
  84      Pre-Invoke {"touch /var/lib/apt/pre-update-stamp"; };
 
  85      Post-Invoke {"touch /var/lib/apt/post-update-stamp"; };
 
  90      TrustCDROM "false";            // consider the CDROM always trusted
 
  95      TrustedKeyring "/etc/apt/trusted.gpg";
 
  98   // Some general options
 
 100   Clean-Installed "true";
 
 101   Immediate-Configure "true";      // DO NOT turn this off, see the man page
 
 102   Force-LoopBreak "false";         // DO NOT turn this on, see the man page
 
 103   Cache-Limit "4194304";
 
 106   // consider Recommends, Suggests as important dependencies that should
 
 107   // be installed by default
 
 108   Install-Recommends "true";
 
 109   Install-Suggests "false";
 
 111   // install recommends automatically for packages in this section
 
 112   Install-Recommends-Section { "metapackages"; "universe/metapackages"; };
 
 114   // consider dependencies of packages in this section manual
 
 115   Never-MarkAuto-Sections {"metapackages"; "universe/metapackages"; };
 
 117   // Write progress messages on this fd (for stuff like base-config)
 
 119   // Keep the list of FDs open (normally apt closes all fds when it
 
 123   // control parameters for cron jobs by /etc/cron.daily/apt
 
 126   BackupArchiveInterval "0";
 
 127   // - Backup after n-days if archive contents changed.(0=disable)
 
 130   // - Backup level.(0=disable), 1 is invalid.
 
 132   // APT::Archives::MaxAge "0"; (old, deprecated)
 
 134   // - Set maximum allowed age of a cache package file. If a cache 
 
 135   //   package file is older it is deleted (0=disable)
 
 137   // APT::Archives::MinAge "2"; (old, deprecated)
 
 139   // - Set minimum age of a package file. If a file is younger it
 
 140   //   will not be deleted (0=disable). Usefull to prevent races 
 
 141   //   and to keep backups of the packages for emergency.
 
 143   // APT::Archives::MaxSize "0"; (old, deprecated)
 
 144   MaxSize "0"; // (new)
 
 145   // - Set maximum size of the cache in MB (0=disable). If the cache
 
 146   //   is bigger, cached package files are deleted until the size
 
 147   //   requirement is met (the biggest packages will be deleted 
 
 150   Update-Package-Lists "0";
 
 151   // - Do "apt-get update" automatically every n-days (0=disable)
 
 153   Download-Upgradeable-Packages "0";
 
 154   // - Do "apt-get upgrade --download-only" every n-days (0=disable)
 
 156   Unattended-Upgrade "0";
 
 157   // - Run the "unattended-upgrade" security upgrade script 
 
 158   //   every n-days (0=disabled)
 
 159   //   Requires the package "unattended-upgrades" and will write
 
 160   //   a log in /var/log/unattended-upgrades
 
 162   AutocleanInterval "0";
 
 163   // - Do "apt-get autoclean" every n-days (0=disable)
 
 166   // - Send report mail to root
 
 167   //   0:  no report             (or null string)
 
 168   //   1:  progress report       (actually any string)
 
 169   //   2:  + command outputs     (remove -qq, remove 2>/dev/null, add -d)
 
 174 // Options for the downloading routines
 
 177   Queue-Mode "host";       // host|access
 
 179   Source-Symlinks "true";
 
 181   PDiffs "true";     // try to get the IndexFile diffs
 
 183   // HTTP method configuration
 
 186     Proxy "http://127.0.0.1:3128";
 
 187     Proxy::http.us.debian.org "DIRECT";  // Specific per-host setting
 
 190     AllowRedirect  "true";
 
 192     // Cache Control. Note these do not work with Squid 2.0.2
 
 194     Max-Age "86400";     // 1 Day age on index files
 
 195     No-Store "false";    // Prevent the cache from storing archives    
 
 196     Dl-Limit "7";        // 7Kb/sec maximum download rate
 
 199   // HTTPS method configuration:
 
 200   // - uses the http proxy config 
 
 201   // - uses the http cache-control values
 
 202   // - uses the http Dl-Limit values
 
 206         SslCert "/etc/apt/some.pem";
 
 207         CaPath  "/etc/ssl/certs";
 
 209         AllowRedirect  "true";
 
 214     Proxy "ftp://127.0.0.1/";
 
 215     Proxy::http.us.debian.org "DIRECT"; // Specific per-host setting
 
 217     /* Required script to perform proxy login. This example should work
 
 221        "USER $(PROXY_USER)";
 
 222        "PASS $(PROXY_PASS)";
 
 223        "USER $(SITE_USER)@$(SITE):$(SITE_PORT)";
 
 229     /* Passive mode control, proxy, non-proxy and per-host. Pasv mode
 
 230        is preferred if possible */
 
 232     Proxy::Passive "true";
 
 233     Passive::http.us.debian.org "true"; // Specific per-host setting
 
 240     // You need the trailing slash!
 
 250    Options {"--ignore-time-conflict";}  // not very useful on a normal system
 
 255    RefreshInterval "360"; // refresh interval in minutes
 
 256    MaxAge "90";           // max age for a mirror file in days before 
 
 258    // mirror failure reporting script
 
 259    ProblemReporting "/usr/lib/apt/apt-report-mirror-failure"; 
 
 260    // mirror failure reporting url
 
 261    ReportFailures "http://example.com/mirror-failure"; 
 
 264   // translations can be set here to "none", "environment" or "$locale"
 
 271   // Location of the state dir
 
 276      userstatus "status.user";
 
 277      status "/var/lib/dpkg/status";
 
 278      cdroms "cdroms.list";
 
 282   // Location of the cache dir
 
 283   Cache "var/cache/apt/" {
 
 284      Archives "archives/";
 
 285      // backup directory created by /etc/cron.daily/apt
 
 287      srcpkgcache "srcpkgcache.bin";
 
 288      pkgcache "pkgcache.bin";     
 
 295      Preferences "preferences";
 
 296      PreferencesParts "preferences.d";
 
 297      SourceList "sources.list";
 
 298      SourceParts "sources.list.d";
 
 299      VendorList "vendors.list";
 
 300      VendorParts "vendors.list.d";
 
 303   // Locations of binaries
 
 305      methods "/usr/lib/apt/methods/";
 
 308      dpkg "/usr/bin/dpkg";
 
 309      dpkg-source "/usr/bin/dpkg-source";
 
 310      dpkg-buildpackage "/usr/bin/dpkg-buildpackage";
 
 311      apt-get "/usr/bin/apt-get";
 
 312      apt-cache "/usr/bin/apt-cache";
 
 315   // Location of the logfile
 
 321 // Things that effect the APT dselect method
 
 324    Clean "auto";   // always|auto|prompt|never
 
 327    PromptAfterUpdate "no";
 
 333    // Probably don't want to use force-downgrade..
 
 334    Options {"--force-overwrite";"--force-downgrade";}
 
 336    // Auto re-mounting of a readonly /usr
 
 337    Pre-Invoke {"mount -o remount,rw /usr";};
 
 338    Post-Invoke {"mount -o remount,ro /usr";};
 
 340    // Prevents daemons from getting cwd as something mountable (default)
 
 343    // Build options for apt-get source --compile
 
 344    Build-Options "-b -uc";
 
 346    // Pre-configure all packages before they are installed using debconf.
 
 347    Pre-Install-Pkgs {"dpkg-preconfigure --apt --priority=low --frontend=dialog";};
 
 349    // Flush the contents of stdin before forking dpkg.
 
 352    // Control the size of the command line passed to dpkg.
 
 356    // controls if apt will apport on the first dpkg error or if it 
 
 357    // tries to install as many packages as possible
 
 361 /* Options you can set to see some debugging text They correspond to names
 
 362    of classes in the source code */
 
 365   pkgProblemResolver "false";
 
 366   pkgProblemResolver::ShowScores "false";
 
 367   pkgDepCache::AutoInstall "false"; // what packages apt install to satify dependencies
 
 368   pkgDepCache::Marker "false"; 
 
 370   pkgAcquire::Worker "false";
 
 371   pkgAcquire::Auth "false";
 
 373   pkgDPkgProgressReporting "false";
 
 374   pkgOrderList "false";
 
 375   pkgAutoRemove "false";   // show information about automatic removes
 
 377   pkgInitialize "false";   // This one will dump the configuration space
 
 379   Acquire::Ftp "false";    // Show ftp command traffic
 
 380   Acquire::Http "false";   // Show http command traffic
 
 381   Acquire::Https "false";   // Show https debug
 
 382   Acquire::gpgv "false";   // Show the gpgv traffic
 
 383   Acquire::Mirror "false"; // Show debugging of the mirror method
 
 384   aptcdrom "false";        // Show found package files
 
 388 /* Whatever you do, do not use this configuration file!! Take out ONLY
 
 389    the portions you need! */
 
 390 This Is Not A Valid Config File