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?
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.
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
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys KEYID
and replace KEYID with the number shown in the error message.
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 -
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
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
Here is a step-by-step answer that might be easier to follow.
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)
Create a text file for the key:
gpg -a --export E084DAB9 > marutter.asc
Add the key (superuser access required):
sudo apt-key add marutter.asc
Update the repositories:
sudo apt-get update
There should be no warning about the missing key now.
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