Установка R из репозитория CRAN Ubuntu: нет ошибки открытого ключа

Я использую R версии 2.13 и хотел бы обновиться до более новой версии, чтобы использовать некоторые пакеты, зависящие от R>= 2.14.

У меня есть строка в моем файле sources.list, описанная здесь. Затем я перехожу к терминалу и набираю:

sudo apt-get update

и получаю следующую ошибку при попытке обновить R на ближайшем ко мне зеркале CRAN:

Чтение списков пакетов... Готово

W: ошибка GPG: http://lib.stat.cmu.edu oneiric/ Выпуск: следующие подписи не удалось проверить, поскольку открытый ключ недоступен: NO_PUBKEY 51716619E084DAB9

Любая идея, как отладить эту ошибку?


person Btibert3    schedule 21.04.2012    source источник
comment
выполните поиск дальше по странице, на которую вы ссылаетесь, - найдите SECURE APT и следуйте приведенным там инструкциям...   -  person Ben Bolker    schedule 21.04.2012
comment
Кроме того, строка начинается с W, что означает только предупреждение.   -  person Dirk Eddelbuettel    schedule 21.04.2012
comment
В дополнение к @ben-bolker - я сам столкнулся с этой проблемой и не смог ее решить, даже когда следовал инструкциям SECURE APT. Я обнаружил, что нахожусь за брандмауэром на работе, закрывающим порт 11371, и не могу загрузить ключ безопасности. Это условие можно протестировать здесь. Единственный способ выполнить это обновление — сделать это дома, где у меня есть доступ к моему маршрутизатору.   -  person daedalus    schedule 21.04.2012


Ответы (9)


Как прокомментировал @Ben Bolker (извините, я перехватил ваш комментарий, но правильный ответ еще не был опубликован), в описании в репозитории пакетов Debian есть раздел secure apt, в котором говорится:

БЕЗОПАСНАЯ АПТ

Архивы бэкпортов Debian в CRAN подписаны ключом «Johannes Ranke (архив CRAN Debian)» с идентификатором ключа 381BA480. Вы можете получить это с помощью

gpg --keyserver subkeys.pgp.net --recv-key 381BA480 или альтернативно, используя другой сервер ключей,

gpg --keyserver pgp.mit.edu --recv-key 381BA480 Если это не работает, это может быть связано с блокировкой порта 11371 брандмауэром. Кроме того, вы можете выполнить поиск 0x381BA480 по адресу http://keyserver.noreply.org/ или http://pgp.mit.edu/ и скопируйте ключевой блок в простой текстовый файл с именем, например, jranke_cran.asc.

Если сработало получение ключа через gpg, необходимо экспортировать его в текстовый файл

gpg -a --export 381BA480 > jranke_cran.asc В обоих случаях вам нужно сделать ключ известным подходящей системе, запустив

apt-key добавить jranke_cran.asc как root.

Если вы еще этого не сделали, это, вероятно, решит вашу проблему.

person Paul Hiemstra    schedule 21.04.2012
comment
Я совсем не против того, что вы украли комментарий. Я комментирую, когда мне лень публиковать полный ответ... - person Ben Bolker; 22.04.2012
comment
Обратите внимание, что и этот ответ, и ответ @ManuelRamon основаны на более старом ключе. Замените тем, что вы получите из сообщения об ошибке от apt-get update. - person Ari B. Friedman; 18.12.2012
comment
Просто хотел подтвердить, что опция «вырезать и вставить» из раздела SECURE APT работает как шарм: найдите ключ по адресу keyserver.ubuntu.com:11371 (найдите Michael Rutter) и скопируйте ключ в обычный текстовый файл, скажем, key.txt. Затем передайте ключ apt-key с помощью sudo apt-key add key.txt. - person Richard; 14.02.2015
comment
Вопрос. Эта информация устарела, поскольку текущий открытый ключ принадлежит Майклу Раттеру, как указано в ответе ниже. Уместно ли отредактировать этот ответ, чтобы отразить новую информацию? Каков стандарт на StackExchange? - person edge-case; 27.11.2017


sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys KEYID

и замените KEYID номером, указанным в сообщении об ошибке.

person Saurabh Chandra Patel    schedule 14.07.2014
comment
Именно, потому что ключ СНОВА изменился, на этот раз на FCAE2A0E115C3D8A. Ваш ответ всегда будет работать! - person MS Berends; 07.07.2018

Благодаря Филиппу Буркхардту я все исправил.

Попробуй это:

gpg --keyserver pgpkeys.mit.edu --recv-key 51716619E084DAB9  
gpg -a --export 51716619E084DAB9 | sudo apt-key add -
person petermeissner    schedule 17.08.2015
comment
2-я ссылка уже недоступна. - person GNUSupporter 8964民主女神 地下教會; 07.10.2019

Я столкнулся с той же проблемой, и единственным решением, которое я нашел, возможно, из-за брандмауэра, было использование полезного Y PPA Manager. Два приведенных ниже шага сработали в Ubuntu 15.04.

1) Сначала установите Y PPA Manager:

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

2) Затем извлеките недостающие ключи, запустив Y PPA Manager:

y-ppa-manager

Нажмите «Дополнительно»

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

Наконец, обновите снова, чтобы проверить, работает ли он:

sudo apt-get update
person Tollan Renner    schedule 29.07.2015

Вот пошаговый ответ, который может быть легче следовать.

  1. Получить ключ (последние 8 цифр в предупреждающем сообщении):

    gpg --keyserver pgp.mit.edu --recv-key E084DAB9
    

    Вывод должен выглядеть так:

    gpg: requesting key E084DAB9 from hkp server pgp.mit.edu
    gpg: key E084DAB9: public key "Michael Rutter <[email protected]>" imported
    gpg: Total number processed: 1
    gpg:               imported: 1  (RSA: 1)
    
  2. Добавьте ключ (требуется доступ суперпользователя):

    gpg -a --export E084DAB9 | sudo apt-key add -
    
  3. Обновите репозитории:

    sudo apt-get update
    

Теперь не должно быть никаких предупреждений о пропаже ключа.

person Denis    schedule 24.04.2015
comment
Сервер ключей mit иногда дает сбой. Замена его на keyserver.ubuntu.com работает. - person akashrajkn; 17.10.2019

Как и другие, опубликованные выше, этот однострочный код хорошо работает в Debian 6:

sudo apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 381BA480

Executing: gpg --ignore-time-conflict --no-options
--no-default-keyring --secret-keyring /etc/apt/secring.gpg --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver hkp://pgp.mit.edu:80 --recv-keys 381BA480 
gpg: requesting key 381BA480 from hkp server pgp.mit.edu 
gpg: key 381BA480: public key "Johannes Ranke (CRAN Debian archive) <[email protected]>" imported 
gpg: no ultimately trusted keys found 
gpg: Total number processed: 1 
gpg:      imported: 1
person Robert Casey    schedule 21.09.2016
comment
Добавлю, что иногда порт по умолчанию заблокирован, поэтому вам нужно указать получение ключа через незаблокированный порт, например 80. См.: cloud.r-project.org/bin/linux/ubuntu - person mpettis; 05.12.2016

Это решило мою проблему

$ wget -q -O - https://archive.kali.org/archive-key.asc | apt-key add

person Sam Kihika    schedule 29.03.2018

Для ключа пришлось использовать более длинный идентификатор.

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9

Проблема, похоже, заключается в дублировании идентификатора ключа на сервере. См. инструкции из CRAN и дополнительную справочную информацию о этот пост от Майкла Раттер.

person gui11aume    schedule 03.12.2020