- Вопрос или проблема
- 1. Отсутствует один ключ
- 2. Пакетный импорт всех отсутствующих GPG-ключей.
- Удаление ключей
- Ответ или решение
- Причины возникновения ошибки GPG
- Шаги по устранению ошибки
- 1. Проверка текущих ключей
- 2. Импорт недостающих ключей
- 3. Пакетный импорт нескольких ключей
- 4. Очистка кэша
- 5. Проверка системных библиотек
- 6. Переустановка PureOS
- Заключение
Вопрос или проблема
У меня есть Librem 14 с установленной PureOS, и я постоянно получаю ошибку при выполнении apt-get update
librem14@PureOS:~$ sudo apt update
Во время проверки подписи произошла ошибка. Репозиторий не обновлен, будут использованы предыдущие индексные файлы. Ошибка GPG: https://repo.ivpn.net/stable/debian ./generic InRelease: Неизвестная ошибка выполнения apt-key
W: Во время проверки подписи произошла ошибка. Репозиторий не обновлен, будут использованы предыдущие индексные файлы. Ошибка GPG: https://brave-browser-apt-release.s3.brave.com stable InRelease: Неизвестная ошибка выполнения apt-key
W: Во время проверки подписи произошла ошибка. Репозиторий не обновлен, будут использованы предыдущие индексные файлы. Ошибка GPG: http://repo.pureos.net/pureos byzantium InRelease: Неизвестная ошибка выполнения apt-key
W: Во время проверки подписи произошла ошибка. Репозиторий не обновлен, будут использованы предыдущие индексные файлы. Ошибка GPG: http://repo.pureos.net/pureos byzantium-updates InRelease: Неизвестная ошибка выполнения apt-key
W: Во время проверки подписи произошла ошибка. Репозиторий не обновлен, будут использованы предыдущие индексные файлы. Ошибка GPG: http://repo.pureos.net/pureos byzantium-security InRelease: Неизвестная ошибка выполнения apt-key
Кто-нибудь знает решение?
Используйте sudo apt-key list
, чтобы отобразить ключи.
Найдите эти ключи и удалите их с помощью sudo apt-key del <ключ>
Используйте apt-get update
, чтобы завершить очистку.
Это может произойти, когда вы добавляете репозиторий и забываете добавить его публичный ключ, или, возможно, произошла временная ошибка сервера ключей при попытке импортировать GPG-ключ.
1. Отсутствует один ключ
Если у вас отсутствует только один публичный GPG-ключ репозитория
sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net:80 --recv-keys ОТСУТСТВУЮЩИЙ_КЛЮЧ_ЗДЕСЬ
Замените ОТСУТСТВУЮЩИЙ_КЛЮЧ_ЗДЕСЬ на отсутствующий GPG-ключ.
2. Пакетный импорт всех отсутствующих GPG-ключей.
Когда у вас отсутствует несколько публичных OpenPGP-ключей, вы можете использовать эту однострочную команду, чтобы импортировать их сразу:
`sudo apt update 2>&1 1>/dev/null | sed -ne 's/.*NO_PUBKEY //p' | while read key; do if ! [[ ${keys[*]} =~ "$key" ]]; then sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net:80 --recv-keys "$key"; keys+=("$key"); fi; done`
Команда запускает sudo apt update для обновления ваших программных источников и обнаружения отсутствующих GPG-ключей, и импортирует каждый отсутствующий ключ, используя hkp://pool.sks-keyservers.net:80 в качестве сервера. Этот сервер синхронизирован с многими другими серверами, поэтому он должен содержать обновленные ключи. Вы можете использовать какой-либо другой сервер, если хотите.
Команда также использует массив для хранения отсутствующих GPG-ключей, для которых мы уже импортировали ключ. Без этого команда импорта ключей будет выполняться дважды для каждого отсутствующего ключа.
Удаление ключей
Используйте команду ниже, чтобы найти и отобразить ваши ключи
sudo apt-key list
Используйте команду ниже, чтобы удалить ключ
sudo apt-key del <ваш-ключ-из-команды-выше>
или (Ubuntu)
sudo add-apt-repository --remove ppa:whatever/ppa
Вы также можете удалить репозитории в настройках центра программ.
Затем выполните команды ниже, чтобы очистить и обновить репозитории
apt-get clean
apt-get autoclean
apt-get update
Попробуйте sudo ldconfig /usr/bin/gpg
. Смотрите: https://unix.stackexchange.com/a/677711/114401
Это сработало для меня. sudo apt update
теперь снова работает.
Попробуйте сбросить систему Linux или просто переустановите PureOS с сайта и загрузите его на загрузочную флешку, затем загрузите компьютер с флешки сайт загрузки PureOS
.
Ответ или решение
Ошибка GPG при обновлении с помощью apt-get в PureOS может возникать по нескольким причинам, связанным с недостающими или некорректными ключами репозиториев. Мы рассмотрим основные шаги по устранению этой проблемы и предложим несколько решений. Этот подход поможет вам вернуть систему в рабочее состояние и успешно обновить пакеты.
Причины возникновения ошибки GPG
- Недостающий ключ: Если вы добавили репозиторий, но забыли импортировать его публичный ключ, система не сможет проверить подпись и выдаст ошибку.
- Ошибки сервера ключей: Также такая ошибка может возникать из-за временных проблем с сервером, к которому вы пытаетесь подключиться для загрузки ключей.
- Истечение срока действия ключа: Иногда ключи могут устареть, что также приведет к сбоям при обновлении.
Шаги по устранению ошибки
1. Проверка текущих ключей
Первым делом, чтобы выяснить, какие ключи установлены в вашей системе, выполните следующую команду:
sudo apt-key list
Это приведет к выводу списка текущих ключей. Если вы обнаружите ключи, относящиеся к проблемным репозиториям, вы можете удалить их с помощью команды:
sudo apt-key del <номер_ключа>
2. Импорт недостающих ключей
Если вы знаете, какой ключ отсутствует, вы можете импортировать его, используя команду:
sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net:80 --recv-keys <недостающий_ключ>
3. Пакетный импорт нескольких ключей
Если вы сталкиваетесь с недостающими ключами у нескольких репозиториев, воспользуйтесь следующей командой для автоматического импорта всех отсутствующих ключей:
sudo apt update 2>&1 1>/dev/null | sed -ne 's/.*NO_PUBKEY //p' | while read key; do if ! [[ ${keys[*]} =~ "$key" ]]; then sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net:80 --recv-keys "$key"; keys+=("$key"); fi; done
Эта команда ищет все недостающие ключи и автоматически импортирует их.
4. Очистка кэша
После удаления старых ключей и добавления новых, рекомендуется очистить кэш apt и повторно обновить репозитории:
sudo apt-get clean
sudo apt-get autoclean
sudo apt-get update
5. Проверка системных библиотек
Иногда проблема может быть связана с несовместимостью или отсутствием системных библиотек. Попробуйте выполнить команду:
sudo ldconfig /usr/bin/gpg
Это может помочь в случае, если проблема связана с доступом к библиотекам GPG.
6. Переустановка PureOS
Если вышеуказанные шаги не помогли, и ошибка сохраняется, рассмотрите возможность переустановки PureOS с загрузочного USB-накопителя. Скачайте последнюю версию PureOS с официального сайта и выполните установку на чистую систему.
Заключение
Следуя вышеизложенным шагам, вы сможете устранить ошибки GPG, возникающие при выполнении команды apt-get update
в PureOS. Эти методы диагностики и исправления помогут поддерживать вашу систему в актуальном состоянии и без проблем с безопасностью. Используйте эти рекомендации для эффективного управления пакетами и репозиториями в вашей системе.