diff --git a/doc-kit.conf b/doc-kit.conf index 1dce777153..b1858612ed 100644 --- a/doc-kit.conf +++ b/doc-kit.conf @@ -3,5 +3,5 @@ variant: license-gfdl file: dc865ed00674536288a1e5a78ba07fe138aaabde .gitignore file: c6b4745307e90c9b88905b434cbbaddc54e4541b .editorconfig -file: 52057b72aa89089dc36d5edc422a2ecb4c6ca48b xml/generic-entities.ent +file: c5e2769f73dd26e97483d32ba6edfbd08f2b9108 xml/generic-entities.ent file: e18430714fe3af85fe62bea62b50140d8b5edf5a xml/network-entities.ent diff --git a/xml/book_administration.xml b/xml/book_administration.xml index 5cb1e2d739..13c360e85e 100644 --- a/xml/book_administration.xml +++ b/xml/book_administration.xml @@ -82,6 +82,7 @@ + diff --git a/xml/debuginfod.xml b/xml/debuginfod.xml new file mode 100644 index 0000000000..dc33fb1c9f --- /dev/null +++ b/xml/debuginfod.xml @@ -0,0 +1,107 @@ + + + %entities; +]> + + Getting debugging data and sources with &debuginfod; + + + + yes + + + + Introduction + + + Developers often need to solve bugs in software packages. Debugging tools, + for example GDB, use information contained in special files that are not + available in the installed binary version of the package. It is available in + the debugsource or debuginfo version of the package. + Installing packages with extended debugging information requires system + administrator privileges and occupies a lot of disk space. + + + + The &debuginfod; service contains an HTTP file server that provides + debugging information for debugging tools without the need to install + debuginfo versions of packages. + + + + How &debuginfod; works + + + &debuginfod; periodically scans remote and local directory trees and RPM + package archives to extract the build IDs of discovered executables and + debuginfo files. It stores these IDs into a built-in database and indexes + them to the related file or package names. + + + + Configuring &debuginfod; + + + You can query external &debuginfod; servers, run local &debuginfod; server, + or a combination of both approaches. + + + + Runing local &debuginfod; server + + To run a local &debuginfod; server, follow these steps: + + + + + Install the elfutils-debuginfod package: + +&prompt.sudo;zypper install elfutils-debuginfod + + + + Start the &debuginfod; service: + +&prompt.sudo;systemctl start debuginfod.service + + + + Add the local server's URL to the DEBUGINFOD_URLS + environment variable: + +&prompt.sudo;export DEBUGINFOD_URLS="http://localhost:8002/ $DEBUGINFOD_URLS" + + + + + + Adding remote &debuginfod; servers + + To be able to query remote &debuginfod; server, add its URL to the + DEBUGINFOD_URLS environment variable. For example: + +&prompt.sudo;export DEBUGINFOD_URLS="https://debuginfod.opensuse.org/ $DEBUGINFOD_URLS" + + + + Querying executables for debugging information + + + The debuginfod-find command—which is part of the + debuginfod-client package—queries configured + &debuginfod; servers for debugging information. It uses build IDs to + identify the queried data. For example, for an executable + /bin/ls, you can find the build ID by running the + following command and the query for the debugging information: + + + +&prompt.user;readelf -n /bin/ls | grep 'Build ID' +Build ID: e21f1b05e314b4c54ee57ec057c4f40c1df49dd3 +&prompt.user;debuginfod-find debuginfo e21f1b05e314b4c54ee57ec057c4f40c1df49dd3 +/root/.cache/debuginfod_client/e21f1b05e314b4c54ee57ec057c4f40c1df49dd3/debuginfo + + + diff --git a/xml/generic-entities.ent b/xml/generic-entities.ent index 5e03e0397a..0a3c49a574 100644 --- a/xml/generic-entities.ent +++ b/xml/generic-entities.ent @@ -227,7 +227,7 @@ use &deng;! --> - + @@ -265,6 +265,7 @@ use &deng;! --> bcache"> chrony"> chronyc"> +debuginfod">