Как устранить недостающие ключи GPG?

137

Я только что установил Ubuntu 12.04, и я добавил некоторое репо, и когда я сделал apt-get update , у меня пропал ключ gpg.

Кажется, что следующая команда не работает для меня:

apt-get update 2> /tmp/keymissing; for key in $(grep "NO_PUBKEY" /tmp/keymissing |sed "s/.*NO_PUBKEY //"); do echo -e "\nProcessing key: $key"; gpg --keyserver subkeys.pgp.net --recv $key && sudo gpg --export --armor $key | apt-key add -; done

Как решить эту проблему?

    
задан Fih 28.04.2012 в 22:26
источник

13 ответов

206

Мне понравилось это решение, повторно загрузите отсутствующие ключи с сервера ключей Ubuntu.

Для Ubuntu

В моем случае

 Reading package lists... Done  
 W: GPG error: http://ppa.launchpad.net precise 
 Release: The following signatures couldn't be verified because the public key is not available: 
 NO_PUBKEY 2EA8F35793D8809A

Вот команда добавить отсутствующий ключ, упомянутый в сообщении об ошибке.

sudo apt-key adv --keyserver ha.pool.sks-keyservers.net --recv-keys 2EA8F35793D8809A

Итак, я беру отсутствующий ключ 2EA8F35793D8809A и прошу keyerver.ubuntu.com добавить его в список ключей, которые у меня есть в apt.

Для linux mint
Ваш ключевой сервер немного отличается keyserver.linuxmint.com

sudo apt-key adv --recv-key --keyserver keyserver.linuxmint.com "missing key"

Альтернативные серверы ключей, чтобы попробовать keyserver.ubuntu.com

    
ответ дан nelaaro 23.05.2012 в 09:21
20

Существует программное обеспечение, называемое Y PPA manager . Оно может помочь устранить ошибки ключей GPG.
Y PPA

Для установки -

sudo add-apt-repository ppa:webupd8team/y-ppa-manager  
sudo apt-get update  
sudo apt-get install y-ppa-manager    

После его установки запустите его, затем перейдите к advance и выберите «импортировать все отсутствующие ключи GPG»

    
ответ дан Ashu 03.05.2012 в 11:06
13

Автоматическая загрузка с использованием apt-key adv --recv-keys может не работать за брандмауэром.

В этом случае откройте веб-страницу сервера ключей Ubuntu в своем веб-браузере и найдите строку 0x<hexadecimal code of your missing key> .

Откройте ссылку в разделе pub . Сохраните содержимое ключа (от -----BEGIN PGP PUBLIC KEY BLOCK----- до -----END PGP PUBLIC KEY BLOCK----- ) в качестве файла.

Затем запустите:

sudo apt-key add <file-with-saved-key>

Источник: Ссылка

    
ответ дан Melebius 29.04.2014 в 08:43
12

сначала введите следующую команду в терминал

 sudo rm /var/lib/apt/lists/* -vf

затем обновите свою систему, введя следующую команду в терминале

 sudo apt-get update && sudo apt-get upgrade

после этого не должно быть ошибок, и все должно работать нормально.     

ответ дан Bharat 14.05.2012 в 10:26
10

Для Ubuntu 12.04 Точность: постоянное решение

к этому сообщению об ошибке после добавления нового репозитория и обновления списка репозиториев. Это связано с тем, что адрес сервера недействителен. Так что просто измените адрес на хороший.

  1. Откройте файл ~/.gnupg/gpg.conf с помощью текстового редактора.

    В терминале: gedit ~/.gnupg/gpg.conf

  2. , то в этом файле найдите следующую жирную линию (116-я строка) (которая должна быть по умолчанию как следовать):

      

    [...]
    keyserver hkp: //keys.gnupg.net
      # keyserver mailto: [email protected]
      # keyserver ldap: //keyserver.pgp.com

  3. затем добавьте следующую жирную линию, чтобы в итоге дать следующее Результат:

    (добавьте # ко второй строке, чтобы следовать за старым адресом)

      

    [...]
    keyserver http://keyserver.ubuntu.com
    # keyserver hkp: //keys.gnupg.net
          # keyserver mailto: [email protected]
          # keyserver ldap: //keyserver.pgp.com

  4. Сохраните файл и попробуйте обновить его снова.

    В терминале: sudo apt-get update

ответ дан blitzter47 09.11.2012 в 00:44
6

Самый простой способ с Y PPA MAnager

sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo apt-get update
sudo apt-get install y-ppa-manager 

Открыть Y Менеджер PPA из тире

Введите пароль администратора

Двойной щелчок по расширенной опции

Нажмите «Попробовать импортировать все отсутствующие ключи GPG»

Нажмите «ОК», чтобы исправить его

    
ответ дан Qasim 08.05.2013 в 11:08
6

На основании ответа нелаар:

sudo apt-get update 2>&1 1>/dev/null | sed -ne 's/.*NO_PUBKEY //p' |
while read key; do
    echo 'Processing key:' "$key"
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys "$key"
done

Сценарий выгружает все ошибки во временный файл, а затем проходит через них, импортируя отсутствующие ключи.

    
ответ дан Zafarella 13.04.2013 в 08:00
4

Сначала введите в терминал следующую команду

sudo rm /var/lib/apt/lists/* -vf

затем обновите свою систему, введя следующую команду в терминале

sudo apt-get update && sudo apt-get upgrade

после этого не должно быть ошибок, и все должно работать нормально.

    
ответ дан DaniilPiter 18.02.2013 в 01:34
1

Я столкнулся с той же проблемой, добавив ppa ( ppa:nathandyer/vocal-stable ) он сломал мои репозитории. Я руководствовался автором Web Upd8, о том, как я могу это исправить, вот его шаги, которые меня работали.

Резервное копирование ваших .gpg ключей, на случай, если что-то пойдет не так.

Позволяет создать папку, в которую мы разместим нашу резервную копию.

  • mkdir ~/gpg-backups

    Это резервное копирование всех файлов в папке /etc/apt/trusted.gpg.d/ .

  • <р> sudo cp /etc/apt/trusted.gpg.d/*.* ~/gpg-backups/

Теперь мы удалим все ключи .gpg .

  • <р> sudo rm /etc/apt/trusted.gpg.d/
  • <р> sudo cp /etc/apt/trustdb.gpg ~/gpg-backups/
  • sudo rm /etc/apt/trustdb.gpg

  

в Software & amp; Обновления на вкладке «Аутентификация» нажмите «Восстановить значения по умолчанию»

Установить менеджер y-ppa для импорта всех отсутствующих ключей GPG

sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo apt-get update
sudo apt-get install y-ppa-manager

Ссылка

ответ дан blade19899 22.04.2015 в 19:14
1

Я хотел бы автоматически исправить ошибки, подобные этому в сценарии bash. Для всех, кого это интересует, это должно сделать трюк:

sudo apt-get update 2> /tmp/keymissing
if [ -f /tmp/keymissing ]
then
    for key in $(grep "NO_PUBKEY" /tmp/keymissing |sed "s/.*NO_PUBKEY //")
        do 
        echo -e "\nProcessing key: $key"
        sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $key
        sudo apt-get update
    done
    rm /tmp/keymissing
fi
    
ответ дан user2304170 01.05.2016 в 11:10
0

Если у вас есть что-то вроде этого:

# aptitude update
...
Ign http://archive.canonical.com wily/partner Translation-en_US
Fetched 422 kB in 3s (130 kB/s)
W: GPG error: http://ubuntu.volia.net wily InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32

Прежде всего попробуйте:

# sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32

Вывод последней команды может быть:

gpg: keyblock resource '/etc/apt/trusted.gpg.d/webupd8team_ubuntu_experiments.gpg': resource limit
gpg: keyblock resource '/etc/apt/trusted.gpg.d/webupd8team_ubuntu_gthumb.gpg': resource limit

Итак, вам нужно перейти на /etc/apt/trusted.gpg.d/ и удалить неиспользуемые ключи, а затем повторить apt-key adv и aptitude update

    
ответ дан ipeacocks 17.12.2015 в 21:39
-1

Эта проблема возникла при установке 12.04 с использованием немецких настроек. Затем в списке репозитория используется немецкий зеркальный репозиторий по умолчанию. Если это так, вы можете отредактировать список репозиториев и изменить все немецкие зеркальные репозитории на стандартные репозитории Ubuntu.

Вы можете использовать следующий метод:

sudo nano /etc/apt/sources.list

Поиск и замена в Nano с помощью Alt - r

Поиск (для замены): /de.

Заменить на: /

Заменить все (нажмите A )

Сохранить файл Ctrl - x

Затем обновите свою систему, введя в терминал следующую команду:

sudo apt-get update && sudo apt-get upgrade

После этого не должно быть ошибок, и все должно работать нормально.

    
ответ дан taufan 17.04.2013 в 10:02
-1

вы можете использовать репоген. Вы получите всю инструкцию, включая проверку ключей GPG. Ниже приведена ссылка.

Ссылка

    
ответ дан feroz 05.09.2016 в 23:24