Installing R from CRAN Ubuntu repository: No Public Key Error

泪湿孤枕 提交于 2019-11-28 19:29:10

问题


I am on R version 2.13 and would like to update to a newer version in order to use some packages that depend on R>= 2.14.

I have the line to my sources.list file as found described here. I then navigate to the terminal and type:

sudo apt-get update

and get the following error when trying to update R on the CRAN mirror closest to me:

Reading package lists... Done

W: GPG error: http://lib.stat.cmu.edu oneiric/ Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 51716619E084DAB9

Any idea how to debug this error?


回答1:


Like @Ben Bolker commented (sorry I hijacked your commented, but the correct answer was not yet posted), in the description of the debian package repo there is a section secure apt which says:

SECURE APT

The Debian backports archives on CRAN are signed with the key of "Johannes Ranke (CRAN Debian archive) " with key ID 381BA480. You can fetch this with

gpg --keyserver subkeys.pgp.net --recv-key 381BA480 or alternatively, using another key server,

gpg --keyserver pgp.mit.edu --recv-key 381BA480 If this doesn't work, it might be due to a firewall blocking port 11371. Alternatively, you can search for 0x381BA480 at http://keyserver.noreply.org/ or http://pgp.mit.edu/ and copy the key block into a plain text file, named, for instance, jranke_cran.asc.

If receiving the key with gpg did work, you need to export it to a text file

gpg -a --export 381BA480 > jranke_cran.asc In both cases you need to make the key known to the apt system by running

apt-key add jranke_cran.asc as root.

If you have not already done this, this will probably fix your issue.




回答2:


The simplest solution that worked for me was from Emre Sahin in this thread:

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



回答3:


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

and replace KEYID with the number shown in the error message.




回答4:


Thanks to Philipp Burckhardt, I got it fixed.

Have a look here, or simply try this:

gpg --keyserver pgpkeys.mit.edu --recv-key 51716619E084DAB9  
gpg -a --export 51716619E084DAB9 | sudo apt-key add -



回答5:


I encountered the same issue and the only solution I found, perhaps due to a firewall, was to use the helpful Y PPA Manager. The two steps below outline has worked on Ubuntu 15.04.

1) First install the Y PPA Manager:

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

2) Then fetch missing keys by running the Y PPA Manager:

y-ppa-manager

Click "Advanced"

Next, click "Try to import missing GPG keys"

Finally, update again to check if it works:

sudo apt-get update



回答6:


Much like others posted above, this one-liner seems to work well on 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) <jranke@uni-bremen.de>" imported 
gpg: no ultimately trusted keys found 
gpg: Total number processed: 1 
gpg:      imported: 1



回答7:


Here is a step-by-step answer that might be easier to follow.

  1. Fetch the key (the last 8 digits in the warning message):

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

    The output should look like this:

    gpg: requesting key E084DAB9 from hkp server pgp.mit.edu
    gpg: key E084DAB9: public key "Michael Rutter <marutter@gmail.com>" imported
    gpg: Total number processed: 1
    gpg:               imported: 1  (RSA: 1)
    
  2. Add the key (superuser access required):

    gpg -a --export E084DAB9 | sudo apt-key add -
    
  3. Update the repositories:

    sudo apt-get update
    

There should be no warning about the missing key now.




回答8:


This solved my problem

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



来源:https://stackoverflow.com/questions/10255082/installing-r-from-cran-ubuntu-repository-no-public-key-error

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!