我有一个要发布安全更新的软件包。因此我添加了一个 updateinfo.xml 并将modifyrepo
其添加到 列出的文件中repomd.xml
。当我使用baseurl
本地指向的 yum repo 配置进行测试时,我可以验证 确实yum
下载了新的 updateinfo.xml:它显示在 中/var/cache/yum/x86_64/7/MYAPP/gen/updateinfo.xml
。
此外,由于我修改了版本号,运行后yum install MYAPP
提示有版本更新正在等待。但我尝试了以下命令,均未列出任何安全更新,尽管 updateinfo.xmltype=security
中有update
标签。
$ yum updateinfo MYAPP Loaded plugins: fastestmirror, ovl Loading mirror speeds from cached hostfile * base: mirror.atlanticmetro.net * extras: mirror.atlanticmetro.net * updates: mirror.atlanticmetro.net updateinfo info done
请注意,我的包不在这些镜像中;它是在中指定的本地存储库/etc/yum.repos.d/MYAPP.repo
。
如下updateinfo.xml
。我用的是https://en.opensuse.org/openSUSE:Standards_Rpm_Metadata_UpdateInfo作为示例(并修复了一些 xml 语法错误)因此部分文本尚未更新。
<updates> <update from="[email protected]" status="stable" type="security" version="1.4"> <id>MYAPP</id> <title>MYAPP</title> <release>MYAPP</release> <issued date="2018-12-05 00:00:00"/> <references> <reference href="https://bugzilla.redhat.com/show_bug.cgi?id=426091" id="426091" title="CVE-2007-3568 imlib: infinite loop DoS using crafted BMP image" type="bugzilla"/> <reference href="https://bugzilla.redhat.com/show_bug.cgi?id=426091" id="426091" title="CVE-2007-3568 imlib: infinite loop DoS using crafted BMP image" type="cve"/> </references> <description>THIS update includes a fix for a denial-of-service issue (CVE-2007-3568) whereby an attacker who could get an imlib-using user to view a specially-crafted BMP imag</description> <pkglist> <collection short="F8"> <name>MYAPP</name> <package arch="x84_64" name="MYAPP" release="MYAPPVERSION" src=""> <filename>MYAPP-MYAPPVERSION.rpm</filename> <reboot_suggested>True</reboot_suggested> </package> </collection> </pkglist> </update> </updates>
任何帮助都值得感激。谢谢!
答案1
问题是由于对 的误解pkglist
。我必须指定修复该问题的版本(新版本),而不是旧版本。