dnf包管理系统中debug包的使用
2024-10-31 18:10:36
对于某个包,dnf除了发布用于日常运行的rpm之外,还提供了以下三种用于维测场景的包:
- source rpm
- debugsource rpm
- debuginfo rpm
以redis为例,以下四条命令用于下载不同类型的包:
1 | yumdownloader redis |
获取到四个rpm包,分别为:
- redis-6.2.7-1.fc35.x86_64.rpm
- redis-6.2.7-1.fc35.src.rpm
- redis-debugsource-6.2.7-1.fc35.x86_64.rpm
- redis-debuginfo-6.2.7-1.fc35.x86_64.rpm
通过rpm -qlp <xxx.rpm>可以查看对应rpm包里的内容
redis-6.2.7-1.fc35.x86_64.rpm
主要包括的文件为:
1 | /usr/bin/redis-benchmark |
redis-6.2.7-1.fc35.src.rpm
包括的文件为:
1 | macros.redis |
source rpm用于指导生成binary rpm,一个source rpm可以生成多个binary rpm。source rpm的作用,就是将上游发布的源码,通过rpm的方式进行管理和发布。
source rpm通常包括:
- 上游发布的源码,一般是某种类型的压缩包
- 补丁文件,适应性的一些修改
- 配置文件
- spec文件,用于指导构建过程
redis-debugsource-6.2.7-1.fc35.x86_64.rpm
debugsource包含了对应binary包的源码
redis-debuginfo-6.2.7-1.fc35.x86_64.rpm
主要包括的文件为:
1 | /usr/lib/debug/.build-id/e1/1ff8dbe598e32dd7fbe1fb6bd57f5ad84bebc5.debug |
debugsource包提供了dwarf格式的debug information。