Вопрос или проблема
У меня есть пакет, который я хотел бы установить. Однако я получаю следующую ошибку при попытке это сделать
# yum install package.rpm
...
Тест транзакции прошел успешно
Выполнение транзакции
Установка : package.i686
1/1
Ошибка при распаковке rpm пакета package.i686
ошибка: распаковка архива не удалась для файла /usr/bin/use;642dc5ca: cpio: несоответствие дайджеста
Проверка : package.i686
1/1
Единственный способ, который я нашел для установки этого пакета, это:
# rpm -ivh --nofiledigest package.i686
Существует ли эквивалентная опция для yum для –nofiledigest/–nomd5?
Yum/DNF не имеют таких опций. Даже для RPM это кажется неуместным. Пакет не должен быть установлен, если не проходит проверку хэш-суммы – это действительно может представлять риск для безопасности/целостности.
Ответ или решение
К сожалению, в системе пакетного управления Yum (а также DNF, который является его преемником) нет эквивалентных опций для параметров --nofiledigest
и --nomd5
, используемых в RPM. Эти параметры позволяют игнорировать проверки контрольных сумм при установке пакетов, что может привести к установке поврежденного или небезопасного программного обеспечения.
Причины возникновения ошибки
Ошибка, которую вы наблюдаете при установке пакета с помощью Yum, связана с проблемой контроля целостности файлов. Конкретно ошибка cpio: Digest mismatch
указывает на то, что контрольная сумма одного из файлов в архиве пакета не совпадает с указанной в метаданных пакета. Это может произойти из-за различных причин:
- Поврежденный пакет: Скачанный файл RPM может быть поврежден.
- Неисправность системы: Возможно, что файловая система или хранилище, где расположен RPM, имеет проблемы.
- Не соответствует архитектуре: На попытку установки 32-разрядного пакета на 64-разрядной системе без установки необходимых библиотек также может отразиться.
Рекомендации по устранению проблемы
-
Перезагрузите пакет: Попробуйте снова скачать пакет с официального источника. Убедитесь, что загрузка прошла успешно и файл не поврежден.
-
Проверьте целостность файла: Используйте
rpm --checksig package.i686.rpm
для проверки подписи пакета. Убедитесь, что он не был поврежден или изменен. -
Установка с использованием RPM: Если вам действительно необходимо установить этот пакет и вы принимаете возможные риски, вы можете использовать
rpm -ivh --nofiledigest package.i686
как временное решение. -
Обратитесь к разработчикам пакета: Если проблема продолжает возникать, стоит обратить внимание на документацию или поддержу разработчика пакета. Возможно, существует проблема в самом пакете, которую они могут исправить.
О выводах
Системы управления пакетами, такие как Yum и DNF, не предлагают опций для игнорирования контрольных сумм по соображениям безопасности. Параметры --nofiledigest
и --nomd5
могут привести к установке уязвимого или поврежденного программного обеспечения, что неблагоприятно сказывается на целостности системы безопасности.
Если у вас есть дополнительные вопросы по этой или смежным темам, вы всегда можете обратиться за более глубокой профессиональной помощью.