You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在RPM spec文件中添加bugfix或安全修复信息适配DNF命令

让DNF识别自定义RPM包的bugfix/安全更新方法

要让dnf check-update --bugfix和dnf check-update --security能识别你自定义构建的RPM包更新,需要从spec文件标记更新类型和仓库元数据生成两个环节入手:

1. 在RPM spec文件中规范标记更新信息

在spec文件的%changelog段落里,为每个更新条目明确标注类型,并关联对应的漏洞或bug编号,示例如下:

%changelog
* Wed Oct 11 2024 你的名字 <your.email@example.com> 1.0.1-1
- [bugfix] 修复了用户登录后页面加载异常的问题(Bugzilla #123456)
- [security] 修复了CVE-2024-1234权限绕过漏洞

这里的[bugfix]和[security]是DNF识别更新类型的关键标记,搭配Bugzilla/CVE编号能提升识别准确性。

2. 生成含updateinfo元数据的仓库

把构建好的RPM包放到仓库目录后,使用createrepo_c工具生成包含更新信息的仓库元数据,执行命令:

createrepo_c --updateinfo /path/to/your/repository/directory

该命令会从RPM包的changelog中提取更新类型、bug编号等信息,生成updateinfo.xml文件——DNF正是依靠这个文件筛选特定类型的更新。

3. 验证效果

完成上述配置后,直接运行对应DNF命令即可验证:

dnf check-update --bugfix
dnf check-update --security

如果你的RPM包包含符合标记的更新,DNF会正常列出这些更新条目。

内容的提问来源于stack exchange,提问作者Joerg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 06:30:04