Ubuntu で Rの「署名が無効です」への対処法

UbuntuでRを使っていらっしゃる方は多いと思います。
R3.5以上を使う場合、https://cran.rstudio.com/bin/linux/ubuntu bionic-cran35 を使っている場合が多いです。
このリポジトリの署名が2020年10月16日に失効しました。

このため、apt update で以下のエラーが出ます。

署名照合中にエラーが発生しました。リポジトリは更新されず、過去のインデックスファイルが使われます。GPG
エラー: https://cran.rstudio.com/bin/linux/ubuntu bionic-cran35/ InRelease:
以下の署名が無効です: EXPKEYSIG 51716619E084DAB9 Michael Rutter
<marutter@gmail.com>
W: https://cran.rstudio.com/bin/linux/ubuntu/bionic-cran35/InRelease
の取得に失敗しました  以下の署名が無効です: EXPKEYSIG 51716619E084DAB9
Michael Rutter <marutter@gmail.com>
W:
いくつかのインデックスファイルのダウンロードに失敗しました。これらは無視されるか、古いものが代わりに使われます。

この対処法としては、署名の有効期限をアップデートする必要があります。

まず、apt-key listで公開鍵の一覧を取得します。

apt-key list

そうすると、結果の中で以下が見つかるかと思います。

pub   rsa2048 2010-10-19 [SCA] [期限切れ: 2020-10-16]
       E298 A3A8 25C0 D65D FD57  CBB6 5171 6619 E084 DAB9
uid           [期限切れ] Michael Rutter <marutter@gmail.com>

公開鍵は E298 A3A8 25C0 D65D FD57 CBB6 5171 6619 E084 DAB9 となります。

視認性のために4文字ごとに半角スペースが入っていますが、それを取り除くと以下になります。

E298A3A825C0D65DFD57CBB651716619E084DAB9

この鍵を用いて、以下のコマンドで新しい署名を入手します。

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

そうすると、以下のような表示になるかと思います。

gpg: 鍵51716619E084DAB9: "Michael Rutter <marutter@gmail.com>" 新しい署名を2個
gpg: 処理数の合計: 1
gpg:         新しい署名: 2

apt-key list を再度行うと、以下のようになり、有効期限が2027年9月30日になったことが確認できるかと思います。

pub   rsa2048 2010-10-19 [SCA] [有効期限: 2027-09-30]
      E298 A3A8 25C0 D65D FD57  CBB6 5171 6619 E084 DAB9
uid           [  不明  ] Michael Rutter <marutter@gmail.com>
sub   rsa2048 2010-10-19 [E] [有効期限: 2027-09-30]

Ubuntu で Rの「署名が無効です」への対処法” へのコメント

  1. ピングバック: 【キーエラー】sudo apt updateのキーエラーを解決する | マサキノート

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください