apt コマンドで公開鍵に関するエラー, NO_PUBKEY / GPG Error が出る場合は,以下の手順で復旧できます
例えば apt-get update で下記のエラーが出る場合は
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 06AED62430CB581C
以下のコマンドを実行します
$ gpg --recv-key 06AED62430CB581C $ gpg -a --export 06AED62430CB581C | sudo apt-key add -
これは
- 1つ目のコマンドでGPGの公開鍵をダウンロードして,
- 2つ目のコマンドでそれをaptのデータベースに登録
しています
あとは再度
$ sudo apt update
を実行すれば復旧できます
データベースの実体は /etc/apt/trusted.gpg です
$ sudo apt-key list
で登録済み公開鍵の一覧が確認できます.
一覧には /etc/apt/trusted.gpg だけでなく /etc/apt/trusted.gpg.d/以下のファイルの公開鍵も含まれています
なお昔はGPG鍵を更新する方法として
$ sudo apt-key update
という方法も用意されていましたが,この方法は今では廃止されています(2018年5月確認)