Msys2 pacman PGP鍵の更新

久々にMsys2のパッケージを更新しようとするとエラーが発生したのでその対処法


pacman PGP鍵エラー

pacman -Syyコマンドでデータベースを更新しようとしたところ以下のようなエラーが発生

エラー: msys: キー "4A6129F4E4B84AB89ED7F635698F528CF3972E04" は不明です
:: PGP 鍵 4A6129F4E4B84AB89ED7F635698F528CF3972E04 をインポートしますか? [Y/n]
エラー: キー "4A6129F4E4B84AB89ED7F635698F528CF3972E04" をリモートで検索できませんでした
エラー: msys の更新に失敗しました (無効または破損したデータベース (PGP 鍵))
エラー: 全てのデータベースの同期に失敗しました

検索したところ手動で鍵の更新が必要らしい (参考ページ)


鍵の更新

公式ページに従って以下のように更新してみます

$ curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz
$ curl -O http://repo.msys2.org/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig
$ pacman-key --verify msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig

たまたまなのかrepo.msys2.orgが応答しなかったため、別のミラーからダウンロードしてみます (ミラーのリストは/etc/pacman.d/mirrorlist.msysを確認すればわかります)

$ curl -O https://mirror.yandex.ru/mirrors/msys2/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz
$ curl -O https://mirror.yandex.ru/mirrors/msys2/msys/x86_64/msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig
$ pacman-key --verify msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig
==> Checking msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz.sig... (detached)
gpg: 2020年06月28日 22時36分14秒 PDTに施された署名
gpg:                DSA鍵AD351C50AE085775EB59333B5F92EFC1A47D45A1を使用
gpg: "Alexey Pavlov (Alexpux) <alexpux@gmail.com>"からの正しい署名 [充分]

次に鍵を更新します

$ pacman -U msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz
エラー: mingw32: キー "4A6129F4E4B84AE46ED7F635628F528CF3053E04" は不明です
:: PGP 鍵 4A6129F4E4B84AE46ED7F635628F528CF3053E04 をインポートしますか? [Y/n] Y
エラー: キー "4A6129F4E4B84AE46ED7F635628F528CF3053E04" をリモートで検索できませんでした
エラー: mingw64: キー "4A6129F4E4B84AE46ED7F635628F528CF3053E04" は不明です
:: PGP 鍵 4A6129F4E4B84AE46ED7F635628F528CF3053E04 をインポートしますか? [Y/n] Y
エラー: キー "4A6129F4E4B84AE46ED7F635628F528CF3053E04" をリモートで検索できませんでした
エラー: msys: キー "4A6129F4E4B84AE46ED7F635628F528CF3053E04" は不明です
:: PGP 鍵 4A6129F4E4B84AE46ED7F635628F528CF3053E04 をインポートしますか? [Y/n] Y
エラー: キー "4A6129F4E4B84AE46ED7F635628F528CF3053E04" をリモートで検索できませんでした
エラー: データベース 'mingw32' は無効です (無効または破損したデータベース (PGP 鍵))
エラー: データベース 'mingw64' は無効です (無効または破損したデータベース (PGP 鍵))
エラー: データベース 'msys' は無効です (無効または破損したデータベース (PGP 鍵))
パッケージをロード...
エラー: 処理の準備に失敗しました (無効または破損したデータベース)

上記コマンドが失敗したため以下のコマンドで更新を試みます

$ pacman -U --config <(echo) msys2-keyring-r21.b39fb11-1-any.pkg.tar.xz
パッケージをロード...
依存関係を解決しています...
衝突するパッケージがないか確認しています...

パッケージ (1) msys2-keyring-r21.b39fb11-1

合計インストール容量:  0.05 MiB
最終的なアップグレード容量:  0.03 MiB

:: インストールを行いますか? [Y/n]
(1/1) キーリングのキーを確認                                             [########################################] 100%
(1/1) パッケージの整合性をチェック                                       [########################################] 100%
(1/1) パッケージファイルのロード                                         [########################################] 100%
(1/1) ファイルの衝突をチェック                                           [########################################] 100%
:: パッケージの変更を処理しています...
(1/1) 更新 msys2-keyring                                                 [########################################] 100%
==> msys2.gpg からキーを追加...
==> キーリングの信頼されたキーに署名...
  -> キーに署名 6E8FEAFF9644F54EED90EEA0790AE56A1D3CFDDC...
  -> キーに署名 D55E7A6D7CE9BA1587C0ACACF40D263ECA25678A...
  -> キーに署名 123D4D51A1793859C2BE916BBBE514E53E0D0813...
  -> キーに署名 B91BCF3303284BF90CC043CA9F418C233E652008...
  -> キーに署名 9DD0D4217D75A33B896159E6DA7EF2ABAEEA755C...
  -> キーに署名 69985C5EB351011C78DF7F6D755B8182ACD22879...
==> 所有者信頼値をインポート...
gpg: setting ownertrust to 4
gpg: setting ownertrust to 4
==> キーリングの破棄されたキーを無効化...
  -> キー B19514FB53EB3668471B296E794DCF97F93FC717 を無効化...
==> 信用データベースを更新...
gpg: marginals needed: 3  completes needed: 1  trust model: pgp
gpg: 深さ: 0  有効性:   1  署名:   6  信用: 0-, 0q, 0n, 0m, 0f, 1u
gpg: 深さ: 1  有効性:   6  署名:   6  信用: 0-, 0q, 0n, 6m, 0f, 0u
gpg: 深さ: 2  有効性:   6  署名:   0  信用: 6-, 0q, 0n, 0m, 0f, 0u
gpg: 次回の信用データベース検査は、2021-06-19です

無事データベースの更新が出来るようになりました

$ pacman -Syy
:: パッケージデータベースの同期中...
 mingw32                                     602.0 KiB   657 KiB/s 00:01 [########################################] 100%
 mingw32.sig                                 438.0   B  0.00   B/s 00:00 [########################################] 100%
 mingw64                                     603.4 KiB   440 KiB/s 00:01 [########################################] 100%
 mingw64.sig                                 438.0   B  0.00   B/s 00:00 [########################################] 100%
 msys                                        233.5 KiB  17.5 MiB/s 00:00 [########################################] 100%
 msys.sig                                    438.0   B  0.00   B/s 00:00 [########################################] 100%

おすすめ