Raspberry PiでGPGエラーが出る場合
ラズパイでアップデートしようとしたら以下のエラーが出た。
$ sudo apt update
公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY XXXXXXXXXXXXXXXX
W: GPG エラー: https://dl.yarnpkg.com/debian stable InRelease: 公開鍵を利用できないため、以下の 署名は検証できませんでした: NO_PUBKEY XXXXXXXXXXXXXXXX
E: リポジトリ https://dl.yarnpkg.com/debian stable InRelease は署名されていません。
GPG公開鍵の有効期限が切れたのが原因。通常の手順で更新しようとしたらできなかった。
(keyserverが違うじゃないかと調べたがわからず・・・)
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys XXXXXXXXXXXXXXXX
Executing: /tmp/apt-key-gpghome.qkreNGDcHf/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys XXXXXXXXXXXXXXXX
gpg: failed to start the dirmngr '/usr/bin/dirmngr': そのようなファイルやディレクトリはありませ ん
gpg: connecting dirmngr at '/tmp/apt-key-gpghome.qkreNGDcHf/S.dirmngr' failed: そのようなファイ ルやディレクトリはありません
gpg: keyserver receive failed: dirmngrがありません
dirmngrがないのが原因とのことで入れようとしたがうまくいかず。
$ sudo apt install dirmngr
E: パッケージ 'dirmngr' にはインストール候補がありません
解決方法
直接ダウンロードするもよう。
$ curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
OK
$ sudo apt update
エラーに出ているURLのパッケージの鍵を更新するので、その配布元から取得すればよい。
配布元はたぶん調べるしかないですが…