Начиная с RPM версии 4.1 файлы пакетов проверяются в автоматическом режиме, что может вызывать проблемы, особенно в отношении rpm старых версий или неподписанных электронной подписью.
В большинстве случаев автоматическая проверка - это преимущество, поскольку повышается доверие к пакету. Тем не менее, вы можете переопределить флаги верификации, чтобы изменить поведение по умолчанию. Для этой операции вызывается метод сета транзакции setVSFlags:
ts.setVSFlags(flags) |
Например, если имеются проблемы со старыми пакетами, не имеющими правильных подписей, установите игнорирование соответствующих проверок с помощью кода:
# Set to not verify DSA signatures. |
В таблице ниже перечислены флаги, которые можно передать 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) |
Далее - Сравнение зависимостей
Назад - Чтение хэдера из файла пакета
Содержание