GPG keys レポジトリの更新

2024/02 の作業


postgresql13 をインストールしてる EC2(今回はx86_64) を yum update しようとしたら、


The GPG keys listed for the "PostgreSQL 13 for RHEL/CentOS 7 - x86_64" repository are already installed but they are not correct for this package.

Check that the correct key URLs are configured for this repository.


と出たので、GPG レポジトリをアップデートして、yum update できる様にする。



GPG レポジトリの強制インストール

pgdg-redhat-repo-42.0-23.noarch が既に入っているので、--replacefiles を付けて強制的にインストールする。

$ sudo rpm -ivh --replacefiles --nodeps  https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Retrieving https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
warning: /var/tmp/rpm-tmp.b2TAZC: Header V4 RSA/SHA1 Signature, key ID 73e3b907: NOKEY
Preparing...                         ################################# [100%]
Updating / installing...
   1:pgdg-redhat-repo-42.0-38PGDG    ################################# [100%]
warning: /etc/yum.repos.d/pgdg-redhat-all.repo created as /etc/yum.repos.d/pgdg-redhat-all.repo.rpmnew

# インストールされたか確認
$ rpm -qa | grep pgdgsudo
pgdg-redhat-repo-42.0-23.noarch
pgdg-redhat-repo-42.0-38PGDG.noarch


yum で入れようとしたら、/etc/redhat-release が無いという事でエラーになった。

(インストールの時も centos のバージョンが取れないとかなんとかあったような気がする。)

$ sudo yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
・・・・
Error: Package: pgdg-redhat-repo-42.0-38PGDG.noarch (/pgdg-redhat-repo-latest.noarch)
Requires: /etc/redhat-release
・・・・


インストールした時と同じようにしたら、もう存在しているって言われる。

$ sudo rpm -ivh --nodeps https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Retrieving https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
warning: /var/tmp/rpm-tmp.80XM1U: Header V4 RSA/SHA1 Signature, key ID 73e3b907: NOKEY
Preparing... ################################# [100%]
file /etc/yum.repos.d/pgdg-redhat-all.repo from install of pgdg-redhat-repo-42.0-38PGDG.noarch conflicts with file from package pgdg-redhat-repo-42.0-23.noarch



インストールされた repo を使えるようにする

pgdg-redhat-all.repo が元々あるので、.rpmnew で作成されているので、使える様にする。

$ cd /etc/yum.repos.d/
$ sudo mv pgdg-redhat-all.repo pgdg-redhat-all.repo.backup
$ sudo cp -p  pgdg-redhat-all.repo.rpmnew pgdg-redhat-all.repo



pgdg-redhat-all.repo を編集

postgresql13 だけアップデートできればいいので、[pgdg13] のブロック以外削除して、yum の時 $releasever が取れないので、7にする。

$ sudo vi pgdg-redhat-all.repo
・・・・
#baseurl=https://download.postgresql.org/pub/repos/yum/13/redhat/rhel-$releasever-$basearch
baseurl=https://download.postgresql.org/pub/repos/yum/13/redhat/rhel-7-$basearch
・・・・



あとは普通にアップデート

アップデート中に新しい GPG のレポジトリでいいか見みたいなのが出てくるので して進めて、Complete すれば完了。

$ sudo yum update
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core                              | 3.6 kB  00:00:00
pgdg13/x86_64/signature                 |  665 B  00:00:00
Retrieving key from file:///etc/pki/rpm-gpg/PGDG-RPM-GPG-KEY-RHEL7
Importing GPG key 0x73E3B907:
 Userid     : "PostgreSQL RPM Repository <pgsql-pkg-yum@lists.postgresql.org>"
 Fingerprint: f245 f0bf 96ac 1827 44ca ff2e 64fa ce11 73e3 b907
 Package    : pgdg-redhat-repo-42.0-38PGDG.noarch (installed)
 From       : /etc/pki/rpm-gpg/PGDG-RPM-GPG-KEY-RHEL7
Is this ok [y/N]: y
pgdg13/x86_64/signature                 | 3.6 kB  00:00:36 !!!
255 packages excluded due to repository priority protections
・・・・
Complete!



おしまい