Я пытаюсь выяснить, как я могу сравнить 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
Это работает для подавляющего большинства, но не для всех (2300/2400)
yum-metadata-parser-1.1.2-2.el5
('yum-metadata-parser', '1.1.2', '2', 'el5') **What I need
Но никто из них не работает, если я не сломаю некоторые другие, которые работали до этого.
- WvDial-1.54.0-3
- Xdelta-1.1.3-20
- Xdelta-1.1.3-20_2
- xmlsec1-1.2.6-3
- xmlsec1-1.2.6-3_2
- ypbind-1.17.2-13
- ypbind-1.17.2-8
- ypserv-2.13-14
- зип-2.3-27
- Zlib-1.2.3-3
- Zlib-1.2.3-3_2
- ЗШ-4.2.6-1