]> git.saurik.com Git - apt.git/blob - doc/examples/configure-index
do not crash on SIGPIPE in pkgDPkgPM::RunScriptsWithPkgs()
[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 quiet::NoUpdate "true"; // never update progress information - included in -q=1
21
22 // Options for APT in general
23 APT
24 {
25 Architecture "i386";
26 Architectures { "amd64"; "armel"; };
27 Build-Essential "build-essential";
28
29 NeverAutoRemove { "linux-image.*"; }; // packages that should never
30 // considered for autoRemove
31
32 // Options for apt-get
33 Get
34 {
35 Host-Architecture "armel";
36 Arch-Only "false";
37 AllowUnauthenticated "false";
38 AutomaticRemove "false";
39 HideAutoRemove "false";
40 Download-Only "false";
41 Simulate "false";
42 Assume-Yes "false";
43 Force-Yes "false"; // I would never set this.
44 Fix-Broken "false";
45 Fix-Missing "false";
46 Show-Upgraded "false";
47 Show-Versions "false";
48 Upgrade "true";
49 Print-URIs "false";
50 Compile "false";
51 Download "true";
52 Purge "false";
53 List-Cleanup "true";
54 ReInstall "false";
55 Trivial-Only "false";
56 Remove "true";
57 Only-Source "";
58 Diff-Only "false";
59 Tar-Only "false";
60 Build-Dep-Automatic "true";
61 Show-User-Simulation-Note "true";
62 };
63
64 Cache
65 {
66 Important "false";
67 AllVersions "false";
68 GivenOnly "false";
69 RecurseDepends "false";
70 ShowFull "false";
71 Generate "true";
72 NamesOnly "false";
73 AllNames "false";
74 Installed "false";
75 };
76
77 CDROM
78 {
79 Rename "false";
80 NoMount "false";
81 Fast "false";
82 NoAct "false";
83 };
84
85 Update
86 {
87 Pre-Invoke {"touch /var/lib/apt/pre-update-stamp"; };
88 Post-Invoke {"touch /var/lib/apt/post-update-stamp"; };
89 };
90
91 Authentication
92 {
93 TrustCDROM "false"; // consider the CD-ROM always trusted
94 };
95
96 // Some general options
97 Ignore-Hold "false";
98 Clean-Installed "true";
99 Immediate-Configure "true"; // DO NOT turn this off, see the man page
100 Force-LoopBreak "false"; // DO NOT turn this on, see the man page
101 Cache-Start "20971520";
102 Cache-Grow "1048576";
103 Cache-Limit "0";
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 Changelogs
121 {
122 // server the provides the changelogs, the code will assume
123 // the changlogs are in the pool/ under a srcpkg_ver directory
124 // with the name "changelog"
125 Server "http://packages.debian.org/changelogs";
126 }:
127
128 // control parameters for cron jobs by /etc/cron.daily/apt
129 Periodic
130 {
131 BackupArchiveInterval "0";
132 // - Backup after n-days if archive contents changed.(0=disable)
133
134 BackupLevel "3";
135 // - Backup level.(0=disable), 1 is invalid.
136
137 // APT::Archives::MaxAge "0"; (old, deprecated)
138 MaxAge "0"; // (new)
139 // - Set maximum allowed age of a cache package file. If a cache
140 // package file is older it is deleted (0=disable)
141
142 // APT::Archives::MinAge "2"; (old, deprecated)
143 MinAge "2"; // (new)
144 // - Set minimum age of a package file. If a file is younger it
145 // will not be deleted (0=disable). Useful to prevent races
146 // and to keep backups of the packages for emergency.
147
148 // APT::Archives::MaxSize "0"; (old, deprecated)
149 MaxSize "0"; // (new)
150 // - Set maximum size of the cache in MB (0=disable). If the cache
151 // is bigger, cached package files are deleted until the size
152 // requirement is met (the biggest packages will be deleted
153 // first).
154
155 Update-Package-Lists "0";
156 // - Do "apt-get update" automatically every n-days (0=disable)
157 //
158 Download-Upgradeable-Packages "0";
159 // - Do "apt-get upgrade --download-only" every n-days (0=disable)
160 //
161 Unattended-Upgrade "0";
162 // - Run the "unattended-upgrade" security upgrade script
163 // every n-days (0=disabled)
164 // Requires the package "unattended-upgrades" and will write
165 // a log in /var/log/unattended-upgrades
166 //
167 AutocleanInterval "0";
168 // - Do "apt-get autoclean" every n-days (0=disable)
169
170 Verbose "0";
171 // - Send report mail to root
172 // 0: no report (or null string)
173 // 1: progress report (actually any string)
174 // 2: + command outputs (remove -qq, remove 2>/dev/null, add -d)
175 // 3: + trace on
176 };
177 };
178
179 // Options for the downloading routines
180 Acquire
181 {
182 Queue-Mode "host"; // host|access
183 Retries "0";
184 Source-Symlinks "true";
185 ForceHash "sha256"; // hashmethod used for expected hash: sha256, sha1 or md5sum
186
187 PDiffs "true"; // try to get the IndexFile diffs
188 PDiffs::FileLimit "4"; // don't use diffs if we would need more than 4 diffs
189 PDiffs::SizeLimit "50"; // don't use diffs if size of all patches excess
190 // 50% of the size of the original file
191
192 Check-Valid-Until "true";
193 Max-ValidTime "864000"; // 10 days
194 Max-ValidTime::Debian-Security "604800"; // 7 days, label specific configuration
195
196 // HTTP method configuration
197 http
198 {
199 Proxy "http://127.0.0.1:3128";
200 Proxy::http.us.debian.org "DIRECT"; // Specific per-host setting
201 Timeout "120";
202 Pipeline-Depth "5";
203 AllowRedirect "true";
204
205 // Cache Control. Note these do not work with Squid 2.0.2
206 No-Cache "false";
207 Max-Age "86400"; // 1 Day age on index files
208 No-Store "false"; // Prevent the cache from storing archives
209 Dl-Limit "7"; // 7Kb/sec maximum download rate
210 User-Agent "Debian APT-HTTP/1.3";
211 };
212
213
214
215 // HTTPS method configuration: uses the http
216 // - proxy config
217 // - cache-control values
218 // - Dl-Limit, Timout, ... values
219 // if not set explicit for https
220 //
221 // see /usr/share/doc/apt/examples/apt-https-method-example.conf.gz
222 // for more examples
223 https
224 {
225 Verify-Peer "false";
226 SslCert "/etc/apt/some.pem";
227 CaPath "/etc/ssl/certs";
228 Verify-Host "true";
229 AllowRedirect "true";
230
231 Timeout "120";
232 AllowRedirect "true";
233
234 // Cache Control. Note these do not work with Squid 2.0.2
235 No-Cache "false";
236 Max-Age "86400"; // 1 Day age on index files
237 No-Store "false"; // Prevent the cache from storing archives
238 Dl-Limit "7"; // 7Kb/sec maximum download rate
239
240 User-Agent "Debian APT-CURL/1.0";
241 };
242
243 ftp
244 {
245 Proxy "ftp://127.0.0.1/";
246 Proxy::http.us.debian.org "DIRECT"; // Specific per-host setting
247
248 /* Required script to perform proxy login. This example should work
249 for tisfwtk */
250 ProxyLogin
251 {
252 "USER $(PROXY_USER)";
253 "PASS $(PROXY_PASS)";
254 "USER $(SITE_USER)@$(SITE):$(SITE_PORT)";
255 "PASS $(SITE_PASS)";
256 };
257
258 Timeout "120";
259
260 /* Passive mode control, proxy, non-proxy and per-host. Pasv mode
261 is preferred if possible */
262 Passive "true";
263 Proxy::Passive "true";
264 Passive::http.us.debian.org "true"; // Specific per-host setting
265 };
266
267 cdrom
268 {
269 // do auto detection of the cdrom mountpoint
270 AutoDetect "true";
271 // when auto-detecting, only look for cdrom/dvd. when this is false
272 // it will support any removable device as a "cdrom" source
273 CdromOnly "true";
274
275 // cdrom mountpoint (needs to be defined in fstab if AutoDetect is not used)
276 mount "/cdrom";
277
278 // You need the trailing slash!
279 "/cdrom/"
280 {
281 Mount "sleep 1000";
282 UMount "sleep 500";
283 }
284 };
285
286 gpgv
287 {
288 Options {"--ignore-time-conflict";} // not very useful on a normal system
289 };
290
291 CompressionTypes
292 {
293 bz2 "bzip2";
294 lzma "lzma";
295 gz "gzip";
296
297 Order { "uncompressed"; "gz"; "lzma"; "bz2"; };
298 };
299
300 Languages
301 {
302 "environment";
303 "de";
304 "en";
305 "none";
306 "fr";
307 };
308 };
309
310 // Directory layout
311 Dir "/"
312 {
313 // Location of the state dir
314 State "var/lib/apt/"
315 {
316 Lists "lists/";
317 status "/var/lib/dpkg/status";
318 extended_states "extended_states";
319 cdroms "cdroms.list";
320 };
321
322 // Location of the cache dir
323 Cache "var/cache/apt/" {
324 Archives "archives/";
325 // backup directory created by /etc/cron.daily/apt
326 Backup "backup/";
327 srcpkgcache "srcpkgcache.bin";
328 pkgcache "pkgcache.bin";
329 };
330
331 // Config files
332 Etc "etc/apt/" {
333 Main "apt.conf";
334 Netrc "auth.conf";
335 Parts "apt.conf.d/";
336 Preferences "preferences";
337 PreferencesParts "preferences.d";
338 SourceList "sources.list";
339 SourceParts "sources.list.d";
340 VendorList "vendors.list";
341 VendorParts "vendors.list.d";
342 Trusted "trusted.gpg";
343 TrustedParts "trusted.gpg.d";
344 };
345
346 // Locations of binaries
347 Bin {
348 methods "/usr/lib/apt/methods/";
349 gzip "/bin/gzip";
350 gpg "/usr/bin/gpgv";
351 dpkg "/usr/bin/dpkg";
352 dpkg-source "/usr/bin/dpkg-source";
353 dpkg-buildpackage "/usr/bin/dpkg-buildpackage";
354 apt-get "/usr/bin/apt-get";
355 apt-cache "/usr/bin/apt-cache";
356 };
357
358 // Location of the logfile
359 Log "var/log/apt" {
360 Terminal "term.log";
361 History "history.log";
362 };
363
364 // Media
365 Media
366 {
367 // Media AutoDetect mount path
368 MountPath "/media/apt";
369 };
370
371 // Media
372 Media
373 {
374 // Media AutoDetect mount path
375 MountPath "/media/apt";
376 };
377 };
378
379 // Things that effect the APT dselect method
380 DSelect
381 {
382 Clean "auto"; // always|auto|prompt|never
383 Options "-f";
384 UpdateOptions "";
385 PromptAfterUpdate "no";
386 CheckDir "no";
387 }
388
389 DPkg
390 {
391 // let apt aggressivly use dpkg triggers
392 NoTriggers "true";
393 ConfigurePending "true";
394
395 // Probably don't want to use force-downgrade..
396 Options {"--force-overwrite";"--force-downgrade";}
397
398 // Auto re-mounting of a readonly /usr
399 Pre-Invoke {"mount -o remount,rw /usr";};
400 Post-Invoke {"mount -o remount,ro /usr";};
401
402 Chroot-Directory "/";
403
404 // Prevents daemons from getting cwd as something mountable (default)
405 Run-Directory "/";
406
407 // Build options for apt-get source --compile
408 Build-Options "-b -uc";
409
410 // Pre-configure all packages before they are installed using debconf.
411 Pre-Install-Pkgs {"dpkg-preconfigure --apt --priority=low --frontend=dialog";};
412
413 // Flush the contents of stdin before forking dpkg.
414 FlushSTDIN "true";
415
416 // Control the size of the command line passed to dpkg.
417 MaxBytes 1024;
418 MaxArgs 350;
419
420 // controls if apt will apport on the first dpkg error or if it
421 // tries to install as many packages as possible
422 StopOnError "true";
423 }
424
425 /* Options you can set to see some debugging text They correspond to names
426 of classes in the source code */
427 Debug
428 {
429 pkgProblemResolver "false";
430 pkgProblemResolver::ShowScores "false";
431 pkgDepCache::AutoInstall "false"; // what packages apt install to satify dependencies
432 pkgDepCache::Marker "false";
433 pkgCacheGen "false";
434 pkgAcquire "false";
435 pkgAcquire::Worker "false";
436 pkgAcquire::Auth "false";
437 pkgDPkgPM "false";
438 pkgDPkgProgressReporting "false";
439 pkgOrderList "false";
440 pkgPackageManager "false"; // OrderList/Configure debugging
441 pkgAutoRemove "false"; // show information about automatic removes
442 BuildDeps "false";
443 pkgInitialize "false"; // This one will dump the configuration space
444 NoLocking "false";
445 Acquire::Ftp "false"; // Show ftp command traffic
446 Acquire::Http "false"; // Show http command traffic
447 Acquire::Https "false"; // Show https debug
448 Acquire::gpgv "false"; // Show the gpgv traffic
449 Acquire::cdrom "false"; // Show cdrom debug output
450 aptcdrom "false"; // Show found package files
451 IdentCdrom "false";
452 acquire::netrc "false"; // netrc parser
453 RunScripts "false"; // debug invocation of external scripts
454 }
455
456 pkgCacheGen::Essential "native"; // other modes: all, none, installed
457
458 /* Whatever you do, do not use this configuration file!! Take out ONLY
459 the portions you need! */
460 This Is Not A Valid Config File