使用python检查yum安全更新

时间:2019-02-18 10:40:51

标签: python yum

使用以下代码,我可以列出所有具有可用更新的软件包:

import yum

base = yum.YumBase()
package_list = base.doPackageLists(pkgnarrow='updates', patterns='', ignore_case=True)

if package_list.updates:
  for pkg in package_list.updates:
    print(pkg)

但是我真正想要的是仅列出安全更新(相当于yum check-update --security)。

不幸的是,我找不到有关yum库的适当文档。有人可以在正确的方向帮助我吗?

1 个答案:

答案 0 :(得分:2)

请参见following script

简短的回答,您应该使用UpdateMetadata根据每个通知的元数据过滤结果。

import yum
from yum.update_md import UpdateMetadata
y = yum.YumBase()
ygh = y.doPackageLists('updates')    
x = UpdateMetadata()

for i in ygh.updates:
    md = x.get_notice((i.name, i.ver, i.rel))
    if md:
        md = md.get_metadata()
        if sec_only:
            if md['type'] != 'security':
                continue

(上面的代码只是链接代码的一部分,带有相关位)