1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177
|
'\"! tbl | nroff \-man
'\" t macro stdmacro
.if \n(zZ=1 .ig zZ
.TH DEBUGINFOD-CLIENT-CONFIG 7
.SH NAME
debuginfod-client-config \- debuginfod client environment variables, cache control files and etc.
.SH SYNOPSIS
Several environment variables and control files control the behaviour of debuginfod client applications.
.\" The preceding section permits this man page to be viewed as if self-contained.
.zZ
.\" The following section (only) gets included into other man pages via .so
.SH ENVIRONMENT VARIABLES
.TP
.B $TMPDIR
This environment variable points to a file system to be used for
temporary files. The default is /tmp.
.TP
.B $DEBUGINFOD_URLS
This environment variable contains a list of URL prefixes for trusted
debuginfod instances. Alternate URL prefixes are separated by space.
This environment variable may be set by /etc/profile.d scripts
reading /etc/debuginfod/*.urls files.
This environment variable can also contain policy defining tags which
dictate the response policy for verifying per-file IMA signatures in
RPMs. As the space seperated list is read left to right, upon
encountering a tag, subsequent URLs up to the next tag will be handled
using that specified policy. All URLs before the first tag will use
the default policy, \fIima:ignore\fP. For example:
.in +4n
.EX
DEBUGINFOD_URLS="https://foo.com ima:enforcing https://bar.ca http://localhost:8002/ ima:ignore https://baz.org"
.EE
.in
Where foo.com and baz.org use the default \fIignore\fP policy and
bar.ca and localhost use an \fIenforcing\fP policy. The policy tag
may be one of the following:
.IP
\fIima:enforcing\fP Every downloaded file requires a valid signature,
fully protecting integrity.
.IP
\fIima:ignore\fP Skips verification altogether, providing no
protection.
.IP
Alerts of validation failure will be directed as specified
in $DEBUGINFOD_VERBOSE.
.TP
.B $DEBUGINFOD_CACHE_PATH
This environment variable governs the location of the cache where
downloaded files and cache-control files are kept. The default
directory is chosen based on other environment variables, see below.
.TP
.B $DEBUGINFOD_PROGRESS
This environment variable governs the default progress function. If
set, and if a progressfn is not explicitly set, then the library will
configure a default progressfn. This function will append a simple
progress message periodically to stderr. The default is no progress
function output.
.TP
.B $DEBUGINFOD_VERBOSE
This environment variable governs the default file descriptor for
verbose output. If set, and if a verbose fd is not explicitly set,
then the verbose output will be produced on STDERR_FILENO.
.TP
.B $DEBUGINFOD_RETRY_LIMIT
This environment variable governs the default limit of retry attempts. If a
query failed with errno other than ENOENT, will initiate several attempts
within the limit.
.TP
.B $DEBUGINFOD_TIMEOUT
This environment variable governs the download \fIcommencing\fP
timeout for each debuginfod HTTP connection. A server that fails to
provide at least 100K of data within this many seconds is skipped. The
default is 90 seconds. (Zero or negative means "no timeout".)
.TP
.B $DEBUGINFOD_MAXTIME
This environment variable dictates how long the client will wait to
\fIcomplete\fP the download a file found on a server in seconds. It is best
used to ensure that a file is downloaded quickly or be rejected. The
default is 0 (infinite time).
.TP
.B $DEBUGINFOD_MAXSIZE
This environment variable dictates the maximum size of a file to
download in bytes. This is best used if the user would like to ensure
only small files are downloaded. A value of 0 causes no consideration
for size, and the client may attempt to download a file of any size.
The default is 0 (infinite size).
.TP
.B $DEBUGINFOD_HEADERS_FILE
This environment variable points to a file that supplies headers to
outbound HTTP requests, one per line. The header lines shouldn't end with
CRLF, unless that's the system newline convention. Whitespace-only lines
are skipped.
.TP
.B $DEBUGINFOD_IMA_CERT_PATH
This environment variable contains a list of absolute directory paths
holding X.509 certificates for RPM per-file IMA-verification.
Alternate paths are separated by colons.
.SH CACHE
Before each query, the debuginfod client library checks for a need to
clean the cache. If it's time to clean, the library traverses the
cache directory and removes downloaded debuginfo-related artifacts and
newly empty directories, if they have not been accessed recently.
Control files are located directly under the cache directory. They
contain simple decimal numbers to set cache-related configuration
parameters. If the files do not exist, the client library creates the
files with the default parameter values as content.
After each query, the debuginfod client library deposits newly
received files into a directory & file that is named based on the
build-id. A failed query is also cached by a special file. The
naming convention used for these artifacts is deliberately
\fBundocumented\fP.
.TP
.B $XDG_CACHE_HOME/debuginfod_client/
Default cache directory, if $XDG_CACHE_HOME is set.
.PD
.TP
.B $HOME/.cache/debuginfod_client/
Default cache directory, if $XDG_CACHE_HOME is not set.
.PD
.TP
.B $HOME/.debuginfod_client_cache/
Deprecated cache directory, used only if preexisting.
.PD
.TP
.B cache_clean_interval_s
This control file gives the interval between cache cleaning rounds, in
seconds. The default is 86400, one day. 0 means "immediately".
.TP
.B max_unused_age_s
This control file sets how long unaccessed debuginfo-related files
are retained, in seconds. The default is 604800, one week. 0 means
"immediately".
.TP
.B cache_miss_s
This control file sets how long to remember a query failure, in
seconds. New queries for the same artifacts within this time window
are short-circuited (returning an immediate failure instead of sending
a new query to servers). This accelerates queries that probably would
still fail. The default is 600, 10 minutes. 0 means "forget
immediately".
.TP
.B metadata_retention_s
This control file sets how long to remember the results of a metadata
query. New queries for the same artifacts within this time window are
short-circuited (repeating the same results). This accelerates
queries that probably would probably have the same results. The
default is 3600, 1 hour. 0 means "do not retain".
|