sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10 команда возвращает ошибку

91943
nyamka

Я пытаюсь установить Mongodb в Ubuntu 12, но когда я запускаю эту команду:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
Это вернуло ошибку ниже:

Хост
keyserver.ubuntu.com не найден gpgkeys: ошибка выборки HTTP 7: не удалось подключиться: нет такого файла или каталога
gpg: не найдено действительных данных openPGP
gpg: общее число процессов: 0

Я отключил брандмауэр на Iptables, но он не работает. Есть ли идея?

23
Может ли ваша система разрешить keyserver.ubuntu.com в качестве IP-адреса? То есть что выводит `dig keyserver.ubuntu.com`? Xyon 11 лет назад 0

4 ответа на вопрос

28
Adam C

На самом деле это может не быть проблемой при поиске сервера ключей, что и предполагает ошибка. Команда apt-key вызывает gpg, которая, в свою очередь, пытается получить доступ к серверу ключей. Очевидно, в gpg есть ошибка, из-за которой, если на сервере ключей нет ключа, который вы запрашиваете, gpg неверно интерпретирует его как «хост не найден».

Вполне возможно, что не отвечающий сервер ключей будет делать то же самое, и я видел среды, где серверы ключей заблокированы (корпоративные правила брандмауэра), так что это может быть вашей основной причиной, если есть вышестоящий брандмауэр, к которому у вас нет доступа к.

Просто для справки, ключ есть, и сервер ключей сейчас отвечает за меня:

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10 Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.rh1myoBdSE --trustdb-name /etc/apt//trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv 7F0CEB10 gpg: requesting key 7F0CEB10 from hkp server keyserver.ubuntu.com gpg: key 7F0CEB10: "Richard Kreuter <richard@10gen.com>" not changed gpg: Total number processed: 1 gpg: unchanged: 1 

Возможно, проблема связана с портом (это был последний раз, когда я сталкивался с проблемой корпоративного брандмауэра), поэтому попробуйте сделать это на стандартном порте HTTP (80) вместо этого, посмотрите, все ли в порядке:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 
«делать это на стандартном HTTP-порте (80) вместо этого - довольно сложно! ТКС Bill.Zhuang 7 лет назад 2
15
fgungnir

Я столкнулся с той же проблемой, что и моя машина за корпоративным прокси. Добавив gpg --keyserver-option http-proxyсделанный трюк. Похоже:

sudo apt-key adv --keyserver-options http-proxy=<myProxy> --keyserver keyserver.ubuntu.com --recv 7F0CEB10 
Спасибо! Хорошо, что я не перестал читать наверху ... Moraru Lilian 8 лет назад 1
Работает для меня. Спасибо большое!! Marslo 7 лет назад 1
14
DKo

If you are using a proxy, for example companies proxy than probably the only way is to enter this manually, which is very easy. Run:

sudo apt-get update 

and get the id of the pub_key. Then go to http://keyserver.ubuntu.com/ and search for the key as a hexidecimal, for example if key is 7936A783B, then search for 0x7936A783B. Click on the pup link and copy the keys content and save it to a txt file. Go to terminal and navigate to the file and run:

sudo apt-key add key.txt 

If it works, you will get a simple OK feedback. When all keys are added, then you may run:

sudo apt-get update 

and there you have it!

Это аккуратно; также возможно использовать полученный вами дословно URL с `apt-key` следующим образом:` apt-key adv --fetch-keys http: //keyserver.ubuntu.com/pks/lookup? op = get & search = 0xD6ACA1C817B18ABC` sxc731 7 лет назад 1
0
Aniket Thakur

The second approach mentioned in this link worked for me. Manually download the key and add it. The link provides step by step procedure to fix the error happening due to missing key.