С помощью zsh
:
autoload zmv # best in ~/.zshrc
zmv '**/*(#qD.)' '$(md5sum<$f)'
Переименует все обычные файлы, рекурсивно.
(обратите внимание, что он откажется переименовывать любой файл, если два файла в одном каталоге имеют одинаковую контрольную сумму, добавьте -f
, чтобы отменить это).
**/*(#qD.)
- это zsh
рекурсивный glob с квалификаторами glob (в явном виде (#q
, D
для включения скрытых файлов, .
для выбора только обычных файлов.
yum
делает это через yum -безопасность (8)плагин, который является частьюyum
(нет необходимости устанавливать его отдельно )для CentOS 7(официальные документы RHEL).
При созданииyum update... --security
yum
загрузите обновления метаинформации репозитория в /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
в журналах изменений пакетов, которое может быть полезно для обновлений безопасности.