DEBUGINF...T-CONFIG(7)
β¨ NAME β¨
okay bestie, gather round π this page is debuginfod-client-config β and it's literally the whole vibe board for debuginfod client environment variables, cache control files, and etc. that's it, that's the girl. no cap.
πΈ SYNOPSIS πΈ
so like, a bunch of environment variables and control files are out here pulling the strings on how debuginfod client applications behave. it's giving puppetmaster energy π
the tea below is generic. some debuginfod clients might internally override the defaults listed here, so don't come for me if your fave client does its own thing. iykyk. π
π ENVIRONMENT VARIABLES π
every single one of these is a little knob you can turn. obsessed.
$TMPDIRβ this env var points at the file system to be used for temporary files. the default?/tmp. iconic. β$DEBUGINFOD_URLSβ this one holds a list of URL prefixes for trusted debuginfod instances. alternate URL prefixes are separated by a space. this env var may be set by/etc/profile.dscripts that read/etc/debuginfod/*.urlsfiles. π
bestie it can ALSO contain policy defining tags that dictate the response policy for verifying per-file IMA signatures in RPMs. because the space-separated list gets read left to right, the moment you hit a tag, the subsequent URLs up to the next tag get handled using that specified policy. and every URL before the first tag uses the default policy, ima:ignore. for example:
DEBUGINFOD_URLS="https://foo.com ima:enforcing https://bar.ca http://localhost:8002/ ima:ignore https://baz.org"
where foo.com and baz.org use the default ignore policy, and bar.ca and localhost use an enforcing policy. the policy tag may be one of the following:
ima:enforcingβ every downloaded file requires a valid signature, fully protecting integrity. π₯ima:ignoreβ skips verification altogether, providing no protection. π
alerts of validation failure will be directed as specified in $DEBUGINFOD_VERBOSE.
$DEBUGINFOD_CACHE_PATHβ this env var 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, so like, see below bestie π$DEBUGINFOD_PROGRESSβ governs the default progress function. if it's set, and aprogressfnis not explicitly set, then the library will configure a defaultprogressfn. this function will append a simple progress message periodically tostderr. the default is no progress function output. (lowkey peaceful ngl π¦)$DEBUGINFOD_VERBOSEβ governs the default file descriptor for verbose output. if it's set, and a verbose fd is not explicitly set, then the verbose output will be produced onSTDERR_FILENO.$DEBUGINFOD_RETRY_LIMITβ governs the default limit of retry attempts. if a query failed with anerrnoother thanENOENT, it will initiate several attempts within the limit. she's persistent, she's trying πͺ$DEBUGINFOD_TIMEOUTβ governs the download commencing timeout, in seconds, for each debuginfod HTTP connection. a server is skipped if it either fails to establish a connection within the timeout or fails to provide at least100Kof data within the timeout. the default is90seconds. (zero or negative means "no timeout".) β°$DEBUGINFOD_MAXTIMEβ dictates how long the client will wait to complete the download of a file found on a server, in seconds. it's best used to ensure that a file is downloaded quickly or be rejected. the default is0(infinite time). β³$DEBUGINFOD_MAXSIZEβ dictates the maximum size of a file to download, in bytes. best used if the user would like to ensure only small files are downloaded. a value of0causes no consideration for size, and the client may attempt to download a file of any size. the default is0(infinite size). π$DEBUGINFOD_HEADERS_FILEβ points to a file that supplies headers to outbound HTTP requests, one per line. the header lines shouldn't end withCRLF, unless that's the system newline convention. whitespace-only lines are skipped. π$DEBUGINFOD_IMA_CERT_PATHβ contains a list of absolute directory paths holding X.509 certificates for RPM per-file IMA-verification. alternate paths are separated by colons. π
π 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. she's doing spring cleaning, let her cook π§Ήβ¨
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. so self-sufficient, we love her π
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 undocumented. mystery queen behavior, respect. π«Ά
π cache directories π
$XDG_CACHE_HOME/debuginfod_client/β default cache directory, if$XDG_CACHE_HOMEis set.$HOME/.cache/debuginfod_client/β default cache directory, if$XDG_CACHE_HOMEis not set.$HOME/.debuginfod_client_cache/β deprecated cache directory, used only if preexisting. > she's deprecated bestie, don't build your whole life around her π
β control files β
cache_clean_interval_sβ this control file gives the interval between cache cleaning rounds, in seconds. the default is86400, one day.0means "immediately". π§Όmax_unused_age_sβ sets how long unaccessed debuginfo-related files are retained, in seconds. the default is604800, one week.0means "immediately". β³cache_miss_sβ 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 is600, 10 minutes.0means "forget immediately". πmetadata_retention_sβ 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 is3600, 1 hour.0means "do not retain". πΈ
ok that's the whole page bestie, every last detail, no skips, no crumbs left behind π this came to you straight from the Miscellaneous Information Manual, page debuginfod-client-config(7). mwah, go forth and configure π«Άπ
β¨
π¦ where this page comes from
- arch rolling: debuginfod 0.196-1
- arch rolling: debuginfod 0.197-1 Β· GPL-3.0-or-later
- centos-stream 10: elfutils-debuginfod-client 0.197-1.el10 Β· GPL-3.0-or-later AND (GPL-2.0-or-later OR LGPL-3.0-or-later)
- centos-stream 9: elfutils-debuginfod-client 0.197-1.el9 Β· GPL-3.0-or-later AND (GPL-2.0-or-later OR LGPL-3.0-or-later)
- centos-stream 9: elfutils-debuginfod-client 0.197-1.el9 Β· GPL-3.0-or-later AND (GPL-2.0-or-later OR LGPL-3.0-or-later)
- fedora 43: elfutils-debuginfod-client 0.196-1.fc43
- fedora 43: elfutils-debuginfod-client 0.196-1.fc43
- fedora 43: elfutils-debuginfod-client 0.197-1.fc43 Β· GPL-3.0-or-later AND (GPL-2.0-or-later OR LGPL-3.0-or-later)
- fedora 43: elfutils-debuginfod-client 0.197-1.fc43 Β· GPL-3.0-or-later AND (GPL-2.0-or-later OR LGPL-3.0-or-later)
- fedora 44: elfutils-debuginfod-client 0.196-1.fc44
- fedora 44: elfutils-debuginfod-client 0.196-1.fc44
- fedora 44: elfutils-debuginfod-client 0.197-1.fc44 Β· GPL-3.0-or-later AND (GPL-2.0-or-later OR LGPL-3.0-or-later)
- fedora 44: elfutils-debuginfod-client 0.197-1.fc44 Β· GPL-3.0-or-later AND (GPL-2.0-or-later OR LGPL-3.0-or-later)
- ubuntu stonking: libdebuginfod-common 0.196-1 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms