Как пакеты RPM помечаются как обновления «безопасности»?

С помощью zsh:

autoload zmv # best in ~/.zshrc
zmv '**/*(#qD.)' '$(md5sum<$f)'

Переименует все обычные файлы, рекурсивно.

(обратите внимание, что он откажется переименовывать любой файл, если два файла в одном каталоге имеют одинаковую контрольную сумму, добавьте -f, чтобы отменить это).

**/*(#qD.) - это zsh рекурсивный glob с квалификаторами glob (в явном виде (#q), D для включения скрытых файлов, . для выбора только обычных файлов.

1
10.04.2018, 04:42
1 ответ

yum делает это через yum -безопасность (8)плагин, который является частьюyum(нет необходимости устанавливать его отдельно )для CentOS 7(официальные документы RHEL).

При созданииyum update... --securityyumзагрузите обновления метаинформации репозитория в /var/lib/<arch>/<repo>. Каждый пакет в метаинформационном файле (, организованном как xmlфайл ), содержит поле typeв теге <update>. Если type=security, то обновление является обновлением безопасности.

Когда вы производите yum update --cve <CVE>или yum update --bugzilla <bugzilla_id>, то yumанализирует тег <references>на наличие тегов <reference>каждого пакета в метаинформации для поля typeсодержит bugzilla. Если вы набрали --cve, то CVEсравнивается с полем titleтега <reference>. Если вы набрали --bugzilla, то bugzilla_idсравнивается с полем idтега <reference>.

Файл update_md.pyиз пакета yumсодержит описанную выше функциональность:

$ rpm -ql yum|grep update_md
/usr/lib/python2.7/site-packages/yum/update_md.py

П.С. Пакеты Debian (DEB )содержит поле urgencyв журналах изменений пакетов, которое может быть полезно для обновлений безопасности.

0
28.01.2020, 00:37

Теги

Похожие вопросы