Arch Linux и pacman Arch LinuxManjaro

pacman: ошибка подписи PGP и конфликты файлов

  • Обновлено
  • Чтение ≈ 3 минуты
  • Нужны права администратора

Краткий ответ

Обычно причина — устаревшая связка ключей archlinux-keyring или неверное время. Обновите ключи отдельной командой sudo pacman -Sy archlinux-keyring, затем обновите систему. Если не помогает, переинициализируйте связку ключей pacman-key --init и --populate.

В этой статье
  1. Что означает ошибка
  2. Причины и решения
  3. Пошаговое решение
  4. Если не помогло
  5. Обновление ключей
  6. Повреждённый кэш пакетов

#Что означает ошибка

Сообщение
error: <package>: signature from "..." is unknown trust error: failed to commit transaction (invalid or corrupted package (PGP signature))
По-русскиpacman не может проверить подпись пакета и отменяет установку.

Ошибка pacman «invalid or corrupted package (PGP signature)» означает, что ключи, которыми проверяются подписи пакетов, устарели или повреждены, либо загруженный файл пакета неполный. Чаще всего это следствие долгого необновлявшейся системы или устаревшего archlinux-keyring.

Исправление не требует отключения проверки подписей: достаточно обновить связку ключей.

pacman проверяет подписи пакетов по ключам разработчиков. Если ключи устарели, подписи новых пакетов считаются недоверенными.

#Причины и решения

Возможная причинаКак узнатьЧто делать
Устаревшие ключиСвязка ключей не обновлена давно.Сообщение unknown trust или key is disabled.Обновите archlinux-keyring.
Неверное времяПодписи считаются недействительными.date показывает неверное время.Синхронизируйте время.
Повреждённый пакет в кэшеФайл скачан не полностью.Сообщение о повреждении.Очистите кэш pacman -Scc, скачайте снова.
Повреждённая связка ключейКаталог ключей испорчен.Обновление ключей не помогает.Переинициализируйте ключи.

#Пошаговое решение

  1. Проверьте времяВыполните timedatectl status, проверьте правильность времени, часового пояса и состояние NTP. Если синхронизация выключена, настройте её штатными средствами своего дистрибутива.
  2. Обновите связку ключейСначала проверьте правильность времени и официальность репозиториев. Для Arch обновление набора доверенных ключей выполняйте из официальных репозиториев при целостной базе пакетов и затем запускайте полное обновление sudo pacman -Syu; для Manjaro используйте инструкции именно Manjaro. Не отключайте проверку подписей и не устанавливайте произвольные ключи с форумов. Если проблема появилась после аварийного прерывания, проверьте журнал обновления.
  3. Переинициализируйте ключиПереинициализация всей связки ключей — крайний вариант для повреждённой базы доверия; она не нужна при единичном повреждённом файле пакета. Сначала проверьте часы (timedatectl status), наличие archlinux-keyring и официальный источник ключей. Если база действительно повреждена, сделайте её резервную копию, затем действуйте строго по актуальной инструкции ArchWiki «pacman/Package signing → Resetting all the keys» из доверенной рабочей среды. Не удаляйте каталог /etc/pacman.d/gnupg вслепую и не устанавливайте SigLevel = Never или TrustAll: это отключает проверку происхождения пакетов.
  4. Удалите повреждённые пакеты из кэшаЕсли pacman сообщает о повреждённой подписи конкретного скачанного архива, найдите его точное имя в ошибке и проверьте в /var/cache/pacman/pkg/. Только после проверки имени и наличия свежих зеркал удалите именно этот повреждённый архив через файловый менеджер с правами администратора или точечную команду sudo rm -- /var/cache/pacman/pkg/ТОЧНОЕ_ИМЯ.pkg.tar.zst, заменив название фактическим именем из ошибки. Не очищайте весь кэш и не отключайте SigLevel. Затем запустите штатное обновление через sudo pacman -Syu.
  5. Повторите обновлениеКогда время, ключи и файл повреждённого пакета проверены, откройте терминал Arch Linux и запустите sudo pacman -Syu. Перед подтверждением прочитайте полный список пакетов и убедитесь, что не предлагается неожиданное удаление важных компонентов. При успехе pacman завершит транзакцию без ошибки подписи; если сообщение повторится, сохраните точное имя пакета и текст unknown trust, invalid signature или corrupted package, потому что причины и следующие действия различаются. Не выполняйте частичное обновление pacman -Sy без немедленного согласованного полного обновления.
  6. Команды для отдельных ситуацийВыберите только подходящий вариант. Это не одна последовательность: часть команд диагностирует проблему, а часть меняет настройки или данные.
    Выберите подходящий вариант — это не команды для последовательного выполнения
    Вариант 1Исключён риск частичного обновления ключей отдельно от системы; дальнейшие действия только по официальной п…
    Linux · Терминал (Bash)Команда
    Исключён риск частичного обновления ключей отдельно от системы; дальнейшие действия только по официальной процедуре.
    timedatectl status
    pacman -Q archlinux-keyring
    Вариант 2Переинициализирует связку ключей.
    Linux · Терминал (Bash)С осторожностьюНужен sudo
    Переинициализирует связку ключей. Используйте, если простое обновление не помогло.
    sudo pacman-key --init
    sudo pacman-key --populate archlinux

    Команда может изменить состояние системы или её настройки. Проверьте параметры и последствия перед запуском.

#Если не помогло

Не отключайте проверку подписей (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): неверное время делает подписи недействительными.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.