Проверьте обновления безопасности yum с помощью python - PullRequest
0 голосов
/ 18 февраля 2019

Используя следующий код, я могу перечислить все пакеты, для которых доступно обновление:

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 голосов
/ 18 февраля 2019

См. следующий скрипт .

Краткий ответ, вы должны использовать 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

(приведенный выше код является лишь частью связанного кода с соответствующими битами)

...