Lines Matching +full:x +full:- +full:forwarded +full:- +full:for
1 '\"! tbl | nroff \-man
17 debuginfod \- debuginfo-related http file-server daemon
24 \fBdebuginfod\fP serves debuginfo-related artifacts over HTTP. It
25 periodically scans a set of directories for ELF/DWARF files and their
32 debuginfod servers, it queries them for the same information, just as
33 \fBdebuginfod-find\fP would. If successful, it locally caches then
38 (see the \fB\-L\fP option). Duplicate PATHs are ignored. You may use
39 a file name for a PATH, but source code indexing may be incomplete;
41 thread enumerates all matching files (see the \fB\-I\fP and \fB\-X\fP
43 \fB\-c\fP option) wait at the work queue to analyze files in parallel.
45 If the \fB\-F\fP option is given, each file is scanned as an ELF/DWARF
55 % eu-readelf -wline BINARY | sed -n '/^Directory.table/,/^File.name.table/p'
57 % eu-readelf -wline BINARY | sed -n '/^Directory.table/,/^Line.number/p'
59 % debuginfod -vvv -d :memory: -F BINARY 2>&1 | grep 'recorded.*source'
63 If any of the \fB\-R\fP, \fB-U\fP, or \fB-Z\fP options is given, each
65 files. Archive files are recognized by extension. If \-R is given,
66 ".rpm" files are scanned; if \-U is given, ".deb" and ".ddeb" files
67 are scanned; if \-Z is given, the listed extensions are scanned.
68 Because of complications such as DWZ-compressed debuginfo, may require
70 for RPMs are only served from other RPMs, so the caution for \-F does
72 mechanisms, debuginfod cannot resolve source files for DEB/DDEB at
79 \fBdebuginfod\fP will only serve content from a read-only index and
85 .B "\-F"
89 .B "\-Z EXT" "\-Z EXT=CMD"
100 .B "\-R"
102 Equivalent to \fB\%\-Z\~.rpm=cat\fP, since libarchive can natively
105 incompatible zstd compression for their payload. You may experiment
106 with \fB\%\-Z\ .rpm='(rpm2cpio|zstdcat)<'\fP instead of \fB\-R\fP.
109 .B "\-U"
111 Equivalent to \fB\%\-Z\ .deb='dpkg-deb\ \-\-fsys\-tarfile\fP'
112 \fB\%\-Z\ .ddeb='dpkg-deb\ \-\-fsys\-tarfile'\fP.
115 .B "\-d FILE" "\-\-database=FILE"
121 machines or users, to maximize sqlite locking performance. For quick
122 testing the magic string ":memory:" can be used to use an one-time
123 memory-only database. The default database file is
127 .B "\-\-passive"
131 read-only. This way a database can be safely shared between a active
134 debuginfod can recognize file name extensions for unpacking.
137 .B "\-D SQL" "\-\-ddl=SQL"
140 useful to tune performance-related pragmas or indexes. May be
144 .B "\-p NUM" "\-\-port=NUM"
151 .B "\-I REGEX" "\-\-include=REGEX" "\-X REGEX" "\-\-exclude=REGEX"
163 .B "\-t SECONDS" "\-\-rescan\-time=SECONDS"
164 Set the rescan time for the file and archive directories. This is the
166 before doing it again. A rescan for unchanged files is fast (because
174 .B "\-r"
175 …-I and -X during groom cycles, so that files excluded by the regexes are removed from the index. T…
177 .B "\-g SECONDS" "\-\-groom\-time=SECONDS"
178 Set the groom time for the index database. This is the amount of time
190 .B "\-G"
191 Run an extraordinary maximal-grooming pass at debuginfod startup.
193 debuginfo-unrelated content from the archive-related parts of the index.
194 It should not be run if any recent archive-related indexing operations
198 do maximal-grooming. See also the \fIDATA MANAGEMENT\fP section.
201 .B "\-c NUM" "\-\-concurrency=NUM"
202 Set the concurrency limit for the scanning queue threads, which work
204 This important for controlling CPU-intensive operations like parsing
209 .B "\-L"
211 including across devices - as in \fIfind\ -L\fP. The default is to
213 device, and ignore symlinks - as in \fIfind\ -P\ -xdev\fP. Caution: a
218 .B "\-\-fdcache\-fds=NUM" "\-\-fdcache\-mbs=MB" "\-\-fdcache\-prefetch=NUM2"
231 .B "\-\-fdcache\-\-prefetch\-fds=NUM" "\-\-fdcache\-\-prefetch\-mbs=MB"
234 \fB\-\-prefetch\-fds\fP and \fB\-\-prefetch\-mbs\fP depend
241 .B "\-\-fdcache\-mintmp=NUM"
242 Configure a disk space threshold for emergency flushing of the cache.
247 are intended to give an operator notice about storage scarcity - which
252 .B "\-\-forwarded\-ttl\-limit=NUM"
253 Configure limits of X-Forwarded-For hops. if X-Forwarded-For
258 .B "\-v"
264 .\" Much of the following text is duplicated with debuginfod-find.1
273 custom http headers are added to the response. For files in the
274 database X-DEBUGINFOD-FILE and X-DEBUGINFOD-SIZE are added.
275 X-DEBUGINFOD-FILE is simply the unescaped filename and
276 X-DEBUGINFOD-SIZE is the size of the file. For files found in archives,
277 in addition to X-DEBUGINFOD-FILE and X-DEBUGINFOD-SIZE,
278 X-DEBUGINFOD-ARCHIVE is added. X-DEBUGINFOD-ARCHIVE is the name of the
282 lowercase hexadecimal string. For example, for a program \fI/bin/ls\fP,
286 % readelf -n /bin/ls | grep -A4 build.id
323 compilation-directory, followed by a mandatory "/".
339 Note: the client should %-escape characters in /SOURCE/FILE that are
356 of data to record all debuginfo-related data of potentially a great
359 As a general explanation for size, consider that debuginfod indexes
369 gzip-compressed cpio files), the sqlite index database tends to be
370 from 0.5% to 3% of their size. It's larger for binaries that are
372 much debuginfo-unrelated content. It may be even larger during the
373 indexing phase due to temporary sqlite write-ahead-logging files;
375 be helpful to apply tight \-I or \-X regular-expression constraints to
376 exclude files from scanning that you know have no debuginfo-relevant
381 the database. Old content, such as data for files that have
386 one-shot \fImaximal grooming\fP pass is available. It removes
387 information debuginfo-unrelated data from the archive content index
392 size as free space. Worse: it may result in missing source-code info
397 of error messages on -ENOSPC is ugly and nagging. But, like for most
402 sqlite offers several performance-related options in the form of
403 pragmas. Some may be useful to fine-tune the defaults plus the
404 debuginfod extras. The \-D option may be useful to tell debuginfod to
406 commands. For example, the "synchronous", "cache_size",
408 via \-D, if you're searching for peak performance. The "optimize",
410 debuginfod. The default settings are performance- rather than
411 reliability-oriented, so a hardware crash might corrupt the database.
419 will not be wasted for retaining a no-longer-useable dataset.
421 In summary, if your system can bear a 0.5%-3% index-to-archive-dataset
428 disabled, and the index database remains read-only. This makes the
429 database more suitable for sharing between servers or sites with
430 simple one-way replication, and data management considerations are
437 forks a new thread for each incoming HTTP request, which could lead to
438 a denial-of-service in terms of RAM, CPU, disk I/O, or network I/O.
440 HTTPS reverse-proxy front-end that enforces site policies for
443 appropriate for disclosure to the public.
454 .so man7/debuginfod-client-config.7
464 .I "debuginfod-find(1)"