yum updateコマンド実行時にBad GPG signatureエラーが発生した原因と対応手順
はじめに
こんにちは、eunseoです。
自分のサーバー上で「yum update」および「yum check-update」を実行した時に、Bad GPG signatureのエラーが発生しました。
本記事では、エラーの原因および解決方法についてご説明いたします。
概要
2024年1月3日より新しいGPGキーを含むRPMリポジトリがアップデートされ、パッケージに新しいキーが署名されました。
PGDGとは
PGDG(PostgreSQL Global Development Group)とは、「PostgreSQL グローバル開発グループ」の略です。
PGDGによってPostgreSQLが開発され、PostgreSQLの開発者からなるコミュニティになっています。
エラー内容
Error: Failed download metadata for repo 'pgdg-common': repomd.xml GPG signature verification error: Bad GPG signature
エラー原因
PostgreSQLのRPM パッケージのGPG署名は弱くなりました。
特に RHEL 9は、FIPS モードをイネーブルにする時、PGDG RPM キーに問題があります。
そのため、PGDGを最新バージョンにバージョンアップする必要があります。
参考:https://yum.postgresql.org/news/pgdg-rpm-repo-gpg-key-update/
環境
OS:Red Hat Enterprise Linux 9.1
PostgreSQL:PostgreSQL13
PGDG:42.0-32
手順
まずは、現在のPGDGバージョンを確認します。
# rpm -qa | grep pgdg pgdg-redhat-repo-42.0-32.noarch
1.リポジトリのバックアップ取得
# cd /etc/yum.repos.d/ # cp pgdg-redhat-all.repo pgdg-redhat-all.repo.bak
2.リポジトリの変更
pgdg-redhat-all.repoファイルの中身にある「enabled」のすべてを「0」に変更します。
# vi pgdg-redhat-all.repo
enabled = 1
↓
enabled = 0
3.PGDGのバーションアップ
各OSのリポジトリは以下のサイトで参考してください。
https://download.postgresql.org/pub/repos/yum/common/redhat/
「pgdg-redhat-repo-4.0-38」のリンクのアドレスをコピーします。
PGDGの最新バーション「42.0-38」をインストールします。
# yum install https://download.postgresql.org/pub/repos/yum/common/redhat/rhel-9.1-x86_64/pgdg-redhat-repo-42.0-38PGDG.noarch.rpm
無事にインストールできましたら、以下の結果になっていることが確認できます。
Upgraded: pgdg-redhat-repo-42.0-38PGDG.noarch Complete!
以下のコマンドを実行したら、新しい「pgdg-redhat-all.repo.rpmnew」ファイルが生成されていることが確認できます。
# ll /etc/yum.repos.d/
total 76 -rw-r--r-- 1 root root 12319 Jan 19 15:12 pgdg-redhat-all.repo -rw-r--r-- 1 root root 12319 Jan 19 15:11 pgdg-redhat-all.repo.bak -rw-r--r-- 1 root root 13067 Dec 26 08:11 pgdg-redhat-all.repo.rpmnew -rw-r--r-- 1 root root 4645 Nov 7 20:00 redhat-rhui-beta.repo.disabled -rw-r--r-- 1 root root 467 Dec 12 03:29 redhat-rhui-client-config.repo -rw-r--r-- 1 root root 5984 Nov 7 20:00 redhat-rhui-eus.repo.disabled -rw-r--r--. 1 root root 5792 Dec 12 03:29 redhat-rhui.repo
4.リポジトリの置き換え
変更したリポジトリを日時を付けたバックアップファイルに移動します。
# mv pgdg-redhat-all.repo pgdg-redhat-all.repo.bak`date +%Y%m%d`
新しい「pgdg-redhat-all.repo.rpmnew」ファイルを 「pgdg-redhat-all.repo」ファイルにコピーします。
# cp pgdg-redhat-all.repo.rpmnew pgdg-redhat-all.repo
5.バーションを確認
以下のコマンドを実行し、バーションが「4.0-38」になっていることを確認します。
# rpm -qa | grep pgdg pgdg-redhat-repo-42.0-38PGDG.noarch
6.パッケージを更新
yum updateコマンドを実行し、Dependencies resolvedになっていることを確認します。
# yum update pgdg
PostgreSQL common RPMs for RHEL / Rocky / AlmaLinux 9 - x86_64 PostgreSQL common RPMs for RHEL / Rocky / AlmaLinux 9 - x86_64 Importing GPG key 0x08B40D20: Userid : "PostgreSQL RPM Repository <pgsql-pkg-yum@lists.postgresql.org>" Fingerprint: D4BF 08AE 67A0 B4C7 A1DB CCD2 40BC A2B4 08B4 0D20 From : /etc/pki/rpm-gpg/PGDG-RPM-GPG-KEY-RHEL Is this ok [y/N]: y PostgreSQL common RPMs for RHEL / Rocky / AlmaLinux 9 - x86_64 PostgreSQL common RPMs for RHEL / Rocky / AlmaLinux 9 - x86_64 PostgreSQL 16 for RHEL / Rocky / AlmaLinux 9 - x86_64 PostgreSQL 16 for RHEL / Rocky / AlmaLinux 9 - x86_64 Importing GPG key 0x08B40D20: Userid : "PostgreSQL RPM Repository <pgsql-pkg-yum@lists.postgresql.org>" Fingerprint: D4BF 08AE 67A0 B4C7 A1DB CCD2 40BC A2B4 08B4 0D20 From : /etc/pki/rpm-gpg/PGDG-RPM-GPG-KEY-RHEL Is this ok [y/N]: y PostgreSQL 16 for RHEL / Rocky / AlmaLinux 9 - x86_64 PostgreSQL 15 for RHEL / Rocky / AlmaLinux 9 - x86_64 PostgreSQL 15 for RHEL / Rocky / AlmaLinux 9 - x86_64 Importing GPG key 0x08B40D20: Userid : "PostgreSQL RPM Repository <pgsql-pkg-yum@lists.postgresql.org>" Fingerprint: D4BF 08AE 67A0 B4C7 A1DB CCD2 40BC A2B4 08B4 0D20 From : /etc/pki/rpm-gpg/PGDG-RPM-GPG-KEY-RHEL Is this ok [y/N]: y PostgreSQL 15 for RHEL / Rocky / AlmaLinux 9 - x86_64 PostgreSQL 15 for RHEL / Rocky / AlmaLinux 9 - x86_64 PostgreSQL 14 for RHEL / Rocky / AlmaLinux 9 - x86_64 PostgreSQL 14 for RHEL / Rocky / AlmaLinux 9 - x86_64 Importing GPG key 0x08B40D20: Userid : "PostgreSQL RPM Repository <pgsql-pkg-yum@lists.postgresql.org>" Fingerprint: D4BF 08AE 67A0 B4C7 A1DB CCD2 40BC A2B4 08B4 0D20 From : /etc/pki/rpm-gpg/PGDG-RPM-GPG-KEY-RHEL Is this ok [y/N]: y PostgreSQL 14 for RHEL / Rocky / AlmaLinux 9 - x86_64 PostgreSQL 14 for RHEL / Rocky / AlmaLinux 9 - x86_64 PostgreSQL 13 for RHEL / Rocky / AlmaLinux 9 - x86_64 PostgreSQL 13 for RHEL / Rocky / AlmaLinux 9 - x86_64 Importing GPG key 0x08B40D20: Userid : "PostgreSQL RPM Repository <pgsql-pkg-yum@lists.postgresql.org>" Fingerprint: D4BF 08AE 67A0 B4C7 A1DB CCD2 40BC A2B4 08B4 0D20 From : /etc/pki/rpm-gpg/PGDG-RPM-GPG-KEY-RHEL Is this ok [y/N]: y PostgreSQL 13 for RHEL / Rocky / AlmaLinux 9 - x86_64 PostgreSQL 13 for RHEL / Rocky / AlmaLinux 9 - x86_64 PostgreSQL 12 for RHEL / Rocky / AlmaLinux 9 - x86_64 PostgreSQL 12 for RHEL / Rocky / AlmaLinux 9 - x86_64 Importing GPG key 0x08B40D20: Userid : "PostgreSQL RPM Repository <pgsql-pkg-yum@lists.postgresql.org>" Fingerprint: D4BF 08AE 67A0 B4C7 A1DB CCD2 40BC A2B4 08B4 0D20 From : /etc/pki/rpm-gpg/PGDG-RPM-GPG-KEY-RHEL Is this ok [y/N]: y PostgreSQL 12 for RHEL / Rocky / AlmaLinux 9 - x86_64 PostgreSQL 12 for RHEL / Rocky / AlmaLinux 9 - x86_64 Dependencies resolved.
7.エラー確認
エラーが出ないことを確認します。
# yum check-update | grep postgresql* postgresql13.x86_64 13.13-1PGDG.rhel9 pgdg13 postgresql13-libs.x86_64 13.13-1PGDG.rhel9 pgdg13 postgresql13-server.x86_64 13.13-1PGDG.rhel9 pgdg13
まとめ
本記事では、PGDG RPM キーにエラーが発生した原因および対応手順を分かりやすいように説明しました。
古いバージョンを使っているなら、早めにバージョンアップしよう!と思いました。
是非本記事が参考になり役に立つことができたら幸いです。
テックブログ新着情報のほか、AWSやGoogle Cloudに関するお役立ち情報を配信中!
Follow @twitterRecommends
こちらもおすすめ
-
ひとりぼっちのPostgreSQLカンファレンスの感想
2023.12.24
-
チュートリアルをやってみよう
2024.3.8
-
Amazon RDS のパラメータグループを比較する
2024.3.7
-
gulp+babelでのフロントエンド開発について – 1. 開発環境作成
2015.10.13
-
WEBサービス ブートキャンプ【中間報告】
2015.12.12
Special Topics
注目記事はこちら
データ分析入門
これから始めるBigQuery基礎知識
2024.02.28
AWSの料金が 10 %割引になる!
『AWSの請求代行リセールサービス』
2024.07.16