#Что означает ошибка
error: <package>: signature from "..." is unknown trust error: failed to commit transaction (invalid or corrupted package (PGP signature))
Ошибка pacman «invalid or corrupted package (PGP signature)» означает, что ключи, которыми проверяются подписи пакетов, устарели или повреждены, либо загруженный файл пакета неполный. Чаще всего это следствие долгого необновлявшейся системы или устаревшего archlinux-keyring.
Исправление не требует отключения проверки подписей: достаточно обновить связку ключей.
pacman проверяет подписи пакетов по ключам разработчиков. Если ключи устарели, подписи новых пакетов считаются недоверенными.
#Причины и решения
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Устаревшие ключиСвязка ключей не обновлена давно. | Сообщение unknown trust или key is disabled. | Обновите archlinux-keyring. |
| Неверное времяПодписи считаются недействительными. | date показывает неверное время. | Синхронизируйте время. |
| Повреждённый пакет в кэшеФайл скачан не полностью. | Сообщение о повреждении. | Очистите кэш pacman -Scc, скачайте снова. |
| Повреждённая связка ключейКаталог ключей испорчен. | Обновление ключей не помогает. | Переинициализируйте ключи. |
#Пошаговое решение
- Проверьте времяВыполните
timedatectl status, проверьте правильность времени, часового пояса и состояние NTP. Если синхронизация выключена, настройте её штатными средствами своего дистрибутива. - Обновите связку ключейСначала проверьте правильность времени и официальность репозиториев. Для Arch обновление набора доверенных ключей выполняйте из официальных репозиториев при целостной базе пакетов и затем запускайте полное обновление
sudo pacman -Syu; для Manjaro используйте инструкции именно Manjaro. Не отключайте проверку подписей и не устанавливайте произвольные ключи с форумов. Если проблема появилась после аварийного прерывания, проверьте журнал обновления. - Переинициализируйте ключиПереинициализация всей связки ключей — крайний вариант для повреждённой базы доверия; она не нужна при единичном повреждённом файле пакета. Сначала проверьте часы (
timedatectl status), наличиеarchlinux-keyringи официальный источник ключей. Если база действительно повреждена, сделайте её резервную копию, затем действуйте строго по актуальной инструкции ArchWiki «pacman/Package signing → Resetting all the keys» из доверенной рабочей среды. Не удаляйте каталог/etc/pacman.d/gnupgвслепую и не устанавливайтеSigLevel = NeverилиTrustAll: это отключает проверку происхождения пакетов. - Удалите повреждённые пакеты из кэшаЕсли pacman сообщает о повреждённой подписи конкретного скачанного архива, найдите его точное имя в ошибке и проверьте в
/var/cache/pacman/pkg/. Только после проверки имени и наличия свежих зеркал удалите именно этот повреждённый архив через файловый менеджер с правами администратора или точечную командуsudo rm -- /var/cache/pacman/pkg/ТОЧНОЕ_ИМЯ.pkg.tar.zst, заменив название фактическим именем из ошибки. Не очищайте весь кэш и не отключайтеSigLevel. Затем запустите штатное обновление черезsudo pacman -Syu. - Повторите обновлениеКогда время, ключи и файл повреждённого пакета проверены, откройте терминал Arch Linux и запустите
sudo pacman -Syu. Перед подтверждением прочитайте полный список пакетов и убедитесь, что не предлагается неожиданное удаление важных компонентов. При успехе pacman завершит транзакцию без ошибки подписи; если сообщение повторится, сохраните точное имя пакета и текстunknown trust,invalid signatureилиcorrupted package, потому что причины и следующие действия различаются. Не выполняйте частичное обновлениеpacman -Syбез немедленного согласованного полного обновления. - Команды для отдельных ситуацийВыберите только подходящий вариант. Это не одна последовательность: часть команд диагностирует проблему, а часть меняет настройки или данные.
#Если не помогло
Не отключайте проверку подписей (SigLevel = Never) ради обхода ошибки: это небезопасно. Для конфликтов файлов читайте сообщение pacman и ArchWiki.
#Обновление ключей
Сначала обновите пакет ключей отдельно: sudo pacman -Sy archlinux-keyring, затем sudo pacman -Su. Если ключи повреждены, выполните sudo pacman-key --init, sudo pacman-key --populate archlinux, затем повторите обновление.
#Повреждённый кэш пакетов
Удалите проблемный пакет из кэша: sudo rm /var/cache/pacman/pkg/имя-пакета* и повторите установку. Очистка всего кэша: sudo pacman -Scc. Проверьте дату и время системы (timedatectl): неверное время делает подписи недействительными.