* cmdline/apt-get.cc:
[ntk/apt.git] / doc / examples / configure-index
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.
6
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.
10
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.
17 */
18
19 quiet "0";
20
21 // Options for APT in general
22 APT
23 {
24 Architecture "i386";
25 Build-Essential "build-essential";
26
27 NeverAutoRemove { "linux-image.*"; }; // packages that should never
28 // considered for autoRemove
29
30 // Options for apt-get
31 Get
32 {
33 Arch-Only "false";
34 AllowUnauthenticated "false";
35 AutomaticRemove "false";
36 HideAutoRemove "false";
37 Download-Only "false";
38 Simulate "false";
39 Assume-Yes "false";
40 Force-Yes "false"; // I would never set this.
41 Fix-Broken "false";
42 Fix-Missing "false";
43 Show-Upgraded "false";
44 Show-Versions "false";
45 Upgrade "true";
46 Print-URIs "false";
47 Compile "false";
48 Download "true";
49 Purge "false";
50 List-Cleanup "true";
51 ReInstall "false";
52 Trivial-Only "false";
53 Remove "true";
54 Only-Source "";
55 Diff-Only "false";
56 Tar-Only "false";
57 Build-Dep-Automatic "true";
58 Show-User-Simulation-Note "true";
59 };
60
61 Cache
62 {
63 Important "false";
64 AllVersions "false";
65 GivenOnly "false";
66 RecurseDepends "false";
67 ShowFull "false";
68 Generate "true";
69 NamesOnly "false";
70 AllNames "false";
71 Installed "false";
72 };
73
74 CDROM
75 {
76 Rename "false";
77 NoMount "false";
78 Fast "false";
79 NoAct "false";
80 };
81
82 Update
83 {
84 Pre-Invoke {"touch /var/lib/apt/pre-update-stamp"; };
85 Post-Invoke {"touch /var/lib/apt/post-update-stamp"; };
86 };
87
88 Authentication
89 {
90 TrustCDROM "false"; // consider the CDROM always trusted
91 };
92
93 GPGV
94 {
95 TrustedKeyring "/etc/apt/trusted.gpg";
96 };
97
98 // Some general options
99 Ignore-Hold "false";
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";
104 Default-Release "";
105
106 // consider Recommends, Suggests as important dependencies that should
107 // be installed by default
108 Install-Recommends "true";
109 Install-Suggests "false";
110
111 // consider dependencies of packages in this section manual
112 Never-MarkAuto-Sections {"metapackages"; "universe/metapackages"; };
113
114 // Write progress messages on this fd (for stuff like base-config)
115 Status-Fd "-1";
116 // Keep the list of FDs open (normally apt closes all fds when it
117 // does a ExecFork)
118 Keep-Fds {};
119
120 // control parameters for cron jobs by /etc/cron.daily/apt
121 Periodic
122 {
123 BackupArchiveInterval "0";
124 // - Backup after n-days if archive contents changed.(0=disable)
125
126 BackupLevel "3";
127 // - Backup level.(0=disable), 1 is invalid.
128
129 // APT::Archives::MaxAge "0"; (old, deprecated)
130 MaxAge "0"; // (new)
131 // - Set maximum allowed age of a cache package file. If a cache
132 // package file is older it is deleted (0=disable)
133
134 // APT::Archives::MinAge "2"; (old, deprecated)
135 MinAge "2"; // (new)
136 // - Set minimum age of a package file. If a file is younger it
137 // will not be deleted (0=disable). Usefull to prevent races
138 // and to keep backups of the packages for emergency.
139
140 // APT::Archives::MaxSize "0"; (old, deprecated)
141 MaxSize "0"; // (new)
142 // - Set maximum size of the cache in MB (0=disable). If the cache
143 // is bigger, cached package files are deleted until the size
144 // requirement is met (the biggest packages will be deleted
145 // first).
146
147 Update-Package-Lists "0";
148 // - Do "apt-get update" automatically every n-days (0=disable)
149 //
150 Download-Upgradeable-Packages "0";
151 // - Do "apt-get upgrade --download-only" every n-days (0=disable)
152 //
153 Unattended-Upgrade "0";
154 // - Run the "unattended-upgrade" security upgrade script
155 // every n-days (0=disabled)
156 // Requires the package "unattended-upgrades" and will write
157 // a log in /var/log/unattended-upgrades
158 //
159 AutocleanInterval "0";
160 // - Do "apt-get autoclean" every n-days (0=disable)
161
162 Verbose "0";
163 // - Send report mail to root
164 // 0: no report (or null string)
165 // 1: progress report (actually any string)
166 // 2: + command outputs (remove -qq, remove 2>/dev/null, add -d)
167 // 3: + trace on
168 };
169 };
170
171 // Options for the downloading routines
172 Acquire
173 {
174 Queue-Mode "host"; // host|access
175 Retries "0";
176 Source-Symlinks "true";
177
178 PDiffs "true"; // try to get the IndexFile diffs
179
180 // HTTP method configuration
181 http
182 {
183 Proxy "http://127.0.0.1:3128";
184 Proxy::http.us.debian.org "DIRECT"; // Specific per-host setting
185 Timeout "120";
186 Pipeline-Depth "5";
187 AllowRedirect "true";
188
189 // Cache Control. Note these do not work with Squid 2.0.2
190 No-Cache "false";
191 Max-Age "86400"; // 1 Day age on index files
192 No-Store "false"; // Prevent the cache from storing archives
193 Dl-Limit "7"; // 7Kb/sec maximum download rate
194 };
195
196 // HTTPS method configuration:
197 // - uses the http proxy config
198 // - uses the http cache-control values
199 // - uses the http Dl-Limit values
200 https
201 {
202 Verify-Peer "false";
203 SslCert "/etc/apt/some.pem";
204 CaPath "/etc/ssl/certs";
205 Verify-Host" "true";
206 AllowRedirect "true";
207 };
208
209 ftp
210 {
211 Proxy "ftp://127.0.0.1/";
212 Proxy::http.us.debian.org "DIRECT"; // Specific per-host setting
213
214 /* Required script to perform proxy login. This example should work
215 for tisfwtk */
216 ProxyLogin
217 {
218 "USER $(PROXY_USER)";
219 "PASS $(PROXY_PASS)";
220 "USER $(SITE_USER)@$(SITE):$(SITE_PORT)";
221 "PASS $(SITE_PASS)";
222 };
223
224 Timeout "120";
225
226 /* Passive mode control, proxy, non-proxy and per-host. Pasv mode
227 is preferred if possible */
228 Passive "true";
229 Proxy::Passive "true";
230 Passive::http.us.debian.org "true"; // Specific per-host setting
231 };
232
233 cdrom
234 {
235 mount "/cdrom";
236
237 // You need the trailing slash!
238 "/cdrom/"
239 {
240 Mount "sleep 1000";
241 UMount "sleep 500";
242 }
243 };
244
245 gpgv
246 {
247 Options {"--ignore-time-conflict";} // not very useful on a normal system
248 };
249
250 CompressionTypes
251 {
252 bz2 "bzip2";
253 lzma "lzma";
254 gz "gzip";
255
256 Order { "gz"; "lzma"; "bz2"; };
257 };
258 };
259
260 // Directory layout
261 Dir "/"
262 {
263 // Location of the state dir
264 State "var/lib/apt/"
265 {
266 Lists "lists/";
267 xstatus "xstatus";
268 userstatus "status.user";
269 status "/var/lib/dpkg/status";
270 cdroms "cdroms.list";
271 };
272
273 // Location of the cache dir
274 Cache "var/cache/apt/" {
275 Archives "archives/";
276 // backup directory created by /etc/cron.daily/apt
277 Backup "backup/";
278 srcpkgcache "srcpkgcache.bin";
279 pkgcache "pkgcache.bin";
280 };
281
282 // Config files
283 Etc "etc/apt/" {
284 Main "apt.conf";
285 Netrc "auth.conf";
286 Parts "apt.conf.d/";
287 Preferences "preferences";
288 PreferencesParts "preferences.d";
289 SourceList "sources.list";
290 SourceParts "sources.list.d";
291 VendorList "vendors.list";
292 VendorParts "vendors.list.d";
293 };
294
295 // Locations of binaries
296 Bin {
297 methods "/usr/lib/apt/methods/";
298 gzip "/bin/gzip";
299 gpg "/usr/bin/gpgv";
300 dpkg "/usr/bin/dpkg";
301 dpkg-source "/usr/bin/dpkg-source";
302 dpkg-buildpackage "/usr/bin/dpkg-buildpackage";
303 apt-get "/usr/bin/apt-get";
304 apt-cache "/usr/bin/apt-cache";
305 };
306
307 // Location of the logfile
308 Log "var/log/apt" {
309 Terminal "term.log";
310 };
311 };
312
313 // Things that effect the APT dselect method
314 DSelect
315 {
316 Clean "auto"; // always|auto|prompt|never
317 Options "-f";
318 UpdateOptions "";
319 PromptAfterUpdate "no";
320 CheckDir "no";
321 }
322
323 DPkg
324 {
325 // let apt aggressivly use dpkg triggers
326 NoTriggers "true";
327 NoConfigure "true";
328 ConfigurePending "true";
329
330 // Probably don't want to use force-downgrade..
331 Options {"--force-overwrite";"--force-downgrade";}
332
333 // Auto re-mounting of a readonly /usr
334 Pre-Invoke {"mount -o remount,rw /usr";};
335 Post-Invoke {"mount -o remount,ro /usr";};
336
337 Chroot-Directory "/";
338
339 // Prevents daemons from getting cwd as something mountable (default)
340 Run-Directory "/";
341
342 // Build options for apt-get source --compile
343 Build-Options "-b -uc";
344
345 // Pre-configure all packages before they are installed using debconf.
346 Pre-Install-Pkgs {"dpkg-preconfigure --apt --priority=low --frontend=dialog";};
347
348 // Flush the contents of stdin before forking dpkg.
349 FlushSTDIN "true";
350
351 // Control the size of the command line passed to dpkg.
352 MaxBytes 1024;
353 MaxArgs 350;
354
355 // controls if apt will apport on the first dpkg error or if it
356 // tries to install as many packages as possible
357 StopOnError "true";
358 }
359
360 /* Options you can set to see some debugging text They correspond to names
361 of classes in the source code */
362 Debug
363 {
364 pkgProblemResolver "false";
365 pkgProblemResolver::ShowScores "false";
366 pkgDepCache::AutoInstall "false"; // what packages apt install to satify dependencies
367 pkgDepCache::Marker "false";
368 pkgAcquire "false";
369 pkgAcquire::Worker "false";
370 pkgAcquire::Auth "false";
371 pkgDPkgPM "false";
372 pkgDPkgProgressReporting "false";
373 pkgOrderList "false";
374 pkgAutoRemove "false"; // show information about automatic removes
375 BuildDeps "false";
376 pkgInitialize "false"; // This one will dump the configuration space
377 NoLocking "false";
378 Acquire::Ftp "false"; // Show ftp command traffic
379 Acquire::Http "false"; // Show http command traffic
380 Acquire::Https "false"; // Show https debug
381 Acquire::gpgv "false"; // Show the gpgv traffic
382 aptcdrom "false"; // Show found package files
383 IdentCdrom "false";
384 acquire::netrc "false"; // netrc parser
385
386 }
387
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