16.4.2 Установка флагов верификации

Начиная с RPM версии 4.1 файлы пакетов проверяются в автоматическом режиме, что может вызывать проблемы, особенно в отношении rpm старых версий или неподписанных электронной подписью.

В большинстве случаев автоматическая проверка - это преимущество, поскольку повышается доверие к пакету. Тем не менее, вы можете переопределить флаги верификации, чтобы изменить поведение по умолчанию. Для этой операции вызывается метод сета транзакции setVSFlags:

ts.setVSFlags(flags)

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

# Set to not verify DSA signatures.

ts.setVSFlags(rpm.RPMVSF_NODSA)

В таблице ниже перечислены флаги, которые можно передать setVSFlags. Это битовые маски. Их можно объединять для установки более чем одного флага. Для этого используется бинарный OR. Вместо зарезервированного Python слова or используется | .

Флаг

Означает

rpm.RPMVSF_NEEDPAYLOAD

Установить смещение в начало нагрузки (то есть пропустить хэдер)

rpm.RPMVSF_NOHDRCHK

Не проверять хэдер

rpm.RPMVSF_ NODSA

Не проверять подписи DSA для хэдера и нагрузки

rpm.RPMVSF_ NODSAHEADER

Не проверять подпись DSA для хэдера

rpm.RPMVSF_ NOMD5

Не проверять MD5 дайджест для хэдера и нагрузки

rpm.RPMVSF_ NORSA

Не проверять подписи RSA для хэдера и нагрузки

rpm.RPMVSF_ NOSHA1HEADER

Не проверять дайджест SHA1 для хэдера

rpm._RPMVSF_NODIGESTS

Не проверять дайджесты

rpm._RPMVSF_NOSIGNATURES

Не проверять подписи

Для отключения всех проверок передайте -1 в setVSFlags:

ts.setVSFlasgs(-1)

Далее - Сравнение зависимостей
Назад - Чтение хэдера из файла пакета
Содержание