作为后续这问题,如果我对这些调试功能不感兴趣怎么办 - 如何简单地阻止安装这些 build-id 文件(调试信息包?)?最终我不关心(至少在不久的将来)支持客户端调试。另一方面,在同一台机器上安装不同的客户端 Redhat 产品(包)时,我需要克服已知的“build-id 文件夹冲突”。如何才能做到这一点?
答案1
--excludepath=/usr/lib/.build-id
是一个干净的解决方法,是的。据我所知,失去“调试能力”是唯一的缺点;此选项跳过的文件甚至不会导致rpm --verify
失败。然而,失去“调试能力”的后果不仅仅是限制获得有用输出的能力gdb
;例如,如果错误报告工具想要提供有意义的堆栈跟踪,则需要手动干预。%define _build_id_links none
如果您正在构建软件包并且不想随它们一起发送调试信息,那么也可以。
您的两个问题针对包的不同方面。rpm --excludepath
影响包裹被包裹时发生的情况已安装,而%define _build_id_links
影响当包被建成。如果您对构建软件包感兴趣,那么这rpm --excludepath
没有帮助是正常的,因为那时它不相关。
还要注意的是,正如建议的那样您链接到的错误报告,build-id冲突表明打包问题。如果您正在构建软件包,则应该解决软件包中的问题,而不是解决它们。