Ich bin auf R-Version 2.13 und möchte auf eine neuere Version aktualisieren, um einige Pakete zu verwenden, die von R> = 2.14 abhängen.
Ich habe die Zeile zu meiner sources.list-Datei, wie beschrieben in here . Ich navigiere dann zum Terminal und tippe:
Sudo apt-get update
und erhalten Sie die folgende Fehlermeldung, wenn Sie versuchen, R auf dem CRAN-Spiegel zu aktualisieren, der mir am nächsten ist:
Paketlisten lesen ... Fertig
W: GPG-Fehler: http://lib.stat.cmu.edu oneiric/Release: Die folgenden Signaturen konnten nicht überprüft werden, da der öffentliche Schlüssel nicht verfügbar ist: NO_PUBKEY 51716619E084DAB9
Irgendeine Idee, wie man diesen Fehler debuggt?
Wie @Ben Bolker kommentierte (Entschuldigung, ich habe Ihren Kommentar entführt, aber die richtige Antwort wurde noch nicht veröffentlicht). In der Beschreibung des Debian-Paket-Repos gibt es einen Abschnitt secure apt
, der Folgendes sagt:
SICHERER APT
Die Debian-Backports-Archive auf CRAN sind mit dem Schlüssel von .__ signiert. "Johannes Ranke (CRAN Debian-Archiv)" mit Schlüssel ID 381BA480. Sie können dies mit abrufen
gpg --keyserver subkeys.pgp.net --recv-key 381BA480 oder alternativ mit einem anderen Schlüsselserver,
gpg --keyserver pgp.mit.edu --recv-key 381BA480 Wenn dies nicht der Fall ist Wenn dies funktioniert, könnte es daran liegen, dass eine Firewall den Port 11371 ..__ blockiert. Alternativ können Sie nach 0x381BA480 unter .__ suchen. http://keyserver.noreply.org/ oder http://pgp.mit.edu/ und kopieren Sie den Schlüsselblock in einen Klartext Datei mit dem Namen beispielsweise "jranke_cran.asc".
Wenn der Schlüssel mit gpg funktioniert hat, müssen Sie ihn in eine .__-Datei exportieren. Textdatei
gpg -a --export 381BA480> jranke_cran.asc In beiden Fällen benötigen Sie um den Schlüssel durch Ausführen des apt-Systems bekannt zu machen
apt-key füge jranke_cran.asc als root hinzu.
Wenn Sie dies noch nicht getan haben, wird das Problem wahrscheinlich behoben.
Die einfachste Lösung, die für mich funktionierte, war von Emre Sahin in diesem Thread :
Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9
Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys KEYID
und ersetzen Sie KEYID durch die in der Fehlermeldung angegebene Nummer.
Dank an Philipp Burckhardt habe ich es behoben.
Schau mal hier oder probiere einfach folgendes:
gpg --keyserver pgpkeys.mit.edu --recv-key 51716619E084DAB9
gpg -a --export 51716619E084DAB9 | Sudo apt-key add -
Ich bin auf das gleiche Problem gestoßen und die einzige Lösung, die ich vielleicht aufgrund einer Firewall fand, war die Verwendung des hilfreichen Y PPA-Managers. Die folgenden beiden Schritte wurden in Ubuntu 15.04 ausgeführt.
1) Installieren Sie zuerst den Y PPA Manager:
Sudo add-apt-repository ppa:webupd8team/y-ppa-manager
Sudo apt-get update
Sudo apt-get install y-ppa-manager
2) Holen Sie dann die fehlenden Schlüssel ab, indem Sie den Y PPA Manager ausführen:
y-ppa-manager
Klicken Sie auf "Erweitert".
Klicken Sie anschließend auf "Versuchen Sie, fehlende GPG-Schlüssel zu importieren".
Zum Schluss nochmal ein Update, um zu überprüfen, ob es funktioniert:
Sudo apt-get update
Genau wie andere, die oben geschrieben wurden, scheint dieser One-Liner unter Debian 6 gut zu funktionieren:
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
Hier ist eine Schritt-für-Schritt-Antwort, die möglicherweise leichter zu folgen ist.
Holen Sie den Schlüssel (die letzten 8 Ziffern der Warnmeldung):
gpg --keyserver pgp.mit.edu --recv-Schlüssel E084DAB9
Die Ausgabe sollte so aussehen:
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)
Erstellen Sie eine Textdatei für den Schlüssel:
gpg -a --export E084DAB9> marutter.asc
Fügen Sie den Schlüssel hinzu (Superuser-Zugriff erforderlich):
Sudo apt-key add marutter.asc
Aktualisieren Sie die Repositorys:
Sudo apt-get Update
Es sollte jetzt keine Warnung bezüglich des fehlenden Schlüssels angezeigt werden.
Das hat mein Problem gelöst
$ wget -q -O - https://archive.kali.org/archive-key.asc | apt-key add