DEBUGINFOD(8) System Manager's Manual DEBUGINFOD(8) (NAME) debuginfod - HTTP (debuginfo) (SYNOPSIS) debuginfod []... []... (DESCRIPTION) debuginfod (debuginfo) HTTP . ELF/DWARF (buildid) . (HTTP webapi) buildid . debuginfod buildid debuginfod (upstream) debuginfod-find . (cache) (relay) . PATH (thread) . PATH ( -L ). . PATH . ( -I -X ) . ( -c ) . -F ELF/DWARF . AT_comp_dir ( ) DWARF . : DWARF debuginfod . ( DWARF /etc/passwd .) : % eu-srcfiles -e BINARY -R -U -Z ELF/DWARF/ . . -R ".rpm" -U ".deb" ".ddeb" -Z . DWZ . -F . debuginfo ("" " " ). / debuginfod DEB/DDEB . --disable-source-scan . PATH debuginfod (groom) debuginfod . (passive) debuginfod . (OPTIONS) -F ELF/DWARF. . -Z EXT -Z EXT=CMD . EXT ( ) . CMD . CMD "cat" . debuginfod libarchive . . . -R RPM . . -Z .rpm=cat libarchive RPM . libarchive zstd . -R -Z .rpm='(rpm2cpio|zstdcat)<' . -U DEB/DDEB . . -Z .deb='(bsdtar -O -x -f - data.tar\*)<' .ddeb .ipk. -d FILE --database=FILE sqlite . . . . sqlite . ":memory:" . $HOME/.debuginfod.sqlite . --passive (passive) (webapi) . sqlite . / . debuginfod . --metadata-maxtime=SECONDS . "glob" . . . . -D SQL --ddl=SQL sqlite DDL ( SQL) . pragma . . . -p NUM --port=NUM TCP (0 < NUM < 65536) debuginfod HTTP . IPv4 IPv6 . . 8002 . --listen-address=ADDR IP ( IPv4/IPv6 ) debuginfod HTTP . --cors CORS OPTIONS. debuginfod . . -I REGEX --include=REGEX -X REGEX --exclude=REGEX (include) (exclude) . POSIX (unanchored) (alternation) . realpath(3) . . . ( : .) . -t SECONDS --rescan-time=SECONDS . . ( mtime ). . . SIGUSR1 ( ) ( ) . -r -I -X (groom) . -G (maximal-groom) . -g SECONDS --groom-time=SECONDS (groom) . . . (DATA MANAGEMENT) . ( ) . . SIGUSR2 ( ) ( ) . -G (maximal-grooming) debuginfod. debuginfo . . "vacuum" sqlite . . (DATA MANAGEMENT) . -c NUM --concurrency=NUM . ELF . . -C -C=NUM --connection-pool --connection-pool=NUM . NUM : , -C -C=NUM NUM . . -L PATH - find -L. - find -P -xdev. : . -M LEVELS --max-depth=LEVELS LEVELS - find -maxdepth. . --fdcache-mbs=MB (cache) . MB . MB $TMPDIR /tmp ( ). LRU ( vdso.debug!) . --fdcache-prefetch=NUM NUM (prefetch) . $TMPDIR . . --fdcache-mintmp=NUM (). . fdcaches . /metrics - RAM RAM . 25% . --forwarded-ttl-limit=NUM (hops) X-Forwarded-For. X-Forwarded-For NUM debuginfod . . --disable-source-scan DWARF debuginfo. . --scan-checkpoint=NUM (checkpoint) WAL SQLITE NUM . "-wal" . . . --koji-sigcache RPM IMA RPM koji. RPM rpm.sig Fedora koji sigcache . rpm.sig sigcache (fallback) RPM . --home-redirect (redirect) (document root) . --home-html text/html (document root) . -v (stderr). . 0 . (WEBAPI) (webapi) debuginfod GET buildid . buildid HTTP . HTTP . http . X-DEBUGINFOD-FILE X-DEBUGINFOD-SIZE . X-DEBUGINFOD-FILE X-DEBUGINFOD-SIZE . X-DEBUGINFOD-FILE X-DEBUGINFOD-SIZE X-DEBUGINFOD-ARCHIVE . X-DEBUGINFOD-ARCHIVE . X-DEBUGINFOD-IMA-SIGNATURE IMA (blob) . % debuginfod-find -v debuginfo /bin/ls |& grep -i x-debuginfo x-debuginfod-size: 502024 x-debuginfod-archive: /mnt/fedora_koji_prod/koji/packages/coreutils/9.3/4.fc39/x86_64/coreutils-debuginfo-9.3-4.fc39.x86_64.rpm x-debuginfod-file: /usr/lib/debug/usr/bin/ls-9.3-4.fc39.x86_64.debug X-DEBUGINFOD-SIZE . Content-Length HTTP ( ) . X-DEBUGINFOD-FILE buildid . X-DEBUGINFOD-ARCHIVE ( ). buildid . buildid . /bin/ls ELF GNU_BUILD_ID : % readelf -n /bin/ls | grep -A4 build.id Note section [ 4] '.note.gnu.buildid' of 36 bytes at offset 0x340: Owner Data size Type GNU 20 GNU_BUILD_ID Build ID: 8713b9c3fb8a720137a4a08b325905c7aaf8429d BUILDID : 8713b9c3fb8a720137a4a08b325905c7aaf8429d /buildid/BUILDID/debuginfo buildid .*debug_* . debuginfo strip (unstripped) . /buildid/BUILDID/executable buildid . strip . ET_DYN . /buildid/BUILDID/source/SOURCE/FILE buildid . . DWARF AT_comp_dir (CU) CU . debuginfod CU "/" . : ../ /./ /// . debuginfod . debuginfod 5.2.4 RFC3986 ( ) // / . : #include /buildid/BUILDID/source/usr/include/stdio.h /path/to/foo.c /buildid/BUILDID/source/path/to/foo.c AT_comp_dir=/zoo/ /buildid/BUILDID/source/zoo//../bar/foo.c : SOURCE/FILE/ 2.3 RFC3986 "unreserved" (%) . "+" "\" "$" "!" (' ') "". RFC3986 . /buildid/BUILDID/section/SECTION buildid ELF/DWARF SECTION debuginfo BUILDID . debuginfo SHT_NOBITS BUILDID . . ELF. /metrics debuginfod text/plain (Prometheus) . . /metadata?key=KEY&value=VALUE (key) (value) . application/json . / debuginfod-find(1) . (DATA MANAGEMENT) debuginfod sqlite . debuginfo . . debuginfod ELF/DWARF buildid . buildid DWARF . ( .) RPM ( cpio gzip ) sqlite 0.5% 3% . debuginfo . (write-ahead- logging) sqlite (checkpointed) . -I -X . debuginfod (active) . (grooming) . sqlite . (maximal grooming) . debuginfo ( "archive sdef") ( "archive sref"). . . : . . . ( -ENOSPC . debuginfod .) debuginfod debuginfod . sqlite pragma . debuginfod . -D debuginfod SQL . pragma "synchronous" "cache_size" "auto_vacuum" "threads" "journal_mode" -D . pragma "optimize" "wal_checkpoint" debuginfod . . sqlite . debuginfod . debuginfod SQL (drop) . . 0.5% 3% . debuginfod debuginfod sqlite . (passive) . . (SECURITY) debuginfod . . HTTP (thread) RAM / (DoS) . debuginfod (reverse-proxy) HTTPS . (Front-end) X- DEBUGINFOD-FILE/ARCHIVE . mod_headers : Header edit x-debuginfod-archive ".*/" "" debuginfod debuginfod . debuginfod . . HTTP HTTPS . libcurl . See the file man7/debuginfod-client-config.7. (ADDITIONAL FILES) $HOME/.debuginfod.sqlite . (SEE ALSO) debuginfod-find(1) sqlite3(1) https://prometheus.io/docs/instrumenting/exporters https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS DEBUGINFOD(8)