Coder Perfect

Installing R from CRAN Ubuntu repository: No Public Key Error

Problem

I’m currently using R 2.13 and would like to upgrade to a newer version so that I may use several packages that require 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

When I try to update R on the CRAN mirror closest to me, I receive the following error:

Is there any way to debug this error?

Asked by Btibert3

Solution #1

In this discussion, Emre Sahin provided the easiest method that worked for me:

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

Answered by Brian Bowman

Solution #2

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:

If you haven’t previously done so, this will most likely solve your problem.

Answered by Paul Hiemstra

Solution #3

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

Then substitute the number from the error notice for KEYID.

Answered by Saurabh Chandra Patel

Solution #4

I was able to repair it thanks to Philipp Burckhardt.

Try this:

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

Answered by petermeissner

Solution #5

I had the similar problem, and the only remedy I found was to use the useful Y PPA Manager, which I think was caused by a firewall. On Ubuntu 15.04, the two steps outlined below worked.

1) Install the Y PPA Manager first:

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

2) Then, using the Y PPA Manager, retrieve any missing keys:

y-ppa-manager

Finally, run the following command to see whether it works:

sudo apt-get update

Answered by Tollan Renner

Post is based on https://stackoverflow.com/questions/10255082/installing-r-from-cran-ubuntu-repository-no-public-key-error