我试图找出如何比较2个RPMS列表(当前已安装)和(在本地存储库中可用)并查看哪个RPMS已过期.我一直在修补正则表达式,但RPMS有很多不同的命名标准,我无法获得一个好的列表.我的驱动器上没有实际的RPMS,所以我不能做rpm -qif.
pattern1 = re.compile(r'^([a-zA-Z0-9_\-\+]*)-([a-zA-Z0-9_\.]*)-([a-zA-Z0-9_\.]*)\.(.*)')
for rpm in listOfRpms:
packageInfo = pattern1.search(rpm[0]).groups()
print packageInfo
Run Code Online (Sandbox Code Playgroud)
这适用于绝大多数但不是全部(2300/2400)
yum-metadata-parser-1.1.2-2.el5
('yum-metadata-parser', '1.1.2', '2', 'el5') **What I need
Run Code Online (Sandbox Code Playgroud)
但是,除非我打破其他之前工作的其他人,否则这些都不起作用.