web-dev-qa-db-ja.com

CRAN UbuntuリポジトリからRをインストールする:公開キーエラーなし

Rバージョン2.13を使用していますが、R> = 2.14に依存するいくつかのパッケージを使用するために、新しいバージョンに更新したいと考えています。

here で説明されているように、sources.listファイルへの行があります。次に、ターミナルに移動して、次のように入力します。

Sudo apt-get update

私に最も近いCRANミラーでRを更新しようとすると、次のエラーが発生します。

パッケージリストを読み込んでいます...完了

W:GPGエラー: http://lib.stat.cmu.ed oneiric /リリース:公開鍵が利用できないため、次の署名を検証できませんでした:NO_PUBKEY 51716619E084DAB9

このエラーをデバッグする方法はありますか?

62
Btibert3

@Ben Bolkerがコメントしたように(ごめんなさい、コメントをハイジャックしましたが、正しい答えはまだ投稿されていません)、debianパッケージリポジトリの 説明 には、セクションsecure aptがあります:

安全なAPT

CRANのDebianバックポートアーカイブは、キーID 381BA480の「Johannes Ranke(CRAN Debianアーカイブ)」のキーで署名されています。これを取得するには

gpg --keyserver subkeys.pgp.net --recv-key 381BA480または、別のキーサーバーを使用して、

gpg --keyserver pgp.mit.edu --recv-key 381BA480これが機能しない場合は、ファイアウォールがポート11371をブロックしている可能性があります。または、 http:// keyserverで0x381BA480を検索できます。 .noreply.org / または http://pgp.mit.edu/ を使用して、キーブロックをプレーンテキストファイル(たとえばjranke_cran.ascなど)にコピーします。

Gpgを使用してキーを受信した場合は、テキストファイルにエクスポートする必要があります。

gpg -a --export 381BA480> jranke_cran.ascどちらの場合も、実行することによりキーをaptシステムに知らせる必要があります。

apt-keyはjranke_cran.ascをルートとして追加します。

これをまだ行っていない場合、これはおそらくあなたの問題を解決します。

43
Paul Hiemstra

私のために働いた最も簡単な解決策は、 このスレッド のEmre Sahinからでした:

Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9 
74
anon
Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys KEYID

kEYIDをエラーメッセージに表示されている番号に置き換えます。

26

Philipp Burckhardt のおかげで、修正されました。

ここを見てください 、または単にこれを試してください:

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

同じ問題が発生しましたが、おそらくファイアウォールが原因であるとわかった唯一の解決策は、有用なY PPAマネージャーを使用することでした。以下の2つの手順は、Ubuntu 15.04で機能します。

1)最初にY PPAマネージャーをインストールします。

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

2)次に、Y PPAマネージャーを実行して不足しているキーを取得します。

y-ppa-manager

「詳細設定」をクリックします

次に、「不足しているGPGキーをインポートしてみてください」をクリックします

最後に、もう一度更新して、動作するかどうかを確認します。

Sudo apt-get update
5
Tollan Renner

上記の他の投稿と同様に、このワンライナーは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
4
Robert Casey

以下は、順を追って説明する方が簡単な回答です。

  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)
  1. キーのテキストファイルを作成します。

    gpg -a --export E084DAB9> marutter.asc

  2. キーを追加します(スーパーユーザーアクセスが必要):

    Sudo apt-key add marutter.asc

  3. リポジトリを更新します。

    須藤apt-getアップデート

現在、欠落しているキーに関する警告はありません。

3
Denis

これで問題が解決しました

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

1
SummitK