火. 9月 27th, 2022

サーバーのアップデートをしようと思い、yum -y update でサクッとやってしまお〜と思ったら

warning: /var/cache/yum/x86_64/7/mysql57-community/packages/mysql-community-server-5.7.37-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID 3a79bd29: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

The GPG keys listed for the “MySQL 5.7 Community Server” repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.

Failing package is: mysql-community-server-5.7.37-1.el7.x86_64
GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

とかってエラーにより更新できない。GPGキーがなんたらと言っているぞ。

そもそもGPGキーってなんぞ?

「GnuPG」(GNU Privacy Guard)という暗号化ソフトで生成される公開鍵です。Linuxの場合,apt-getコマンドやyumコマンドを使ってインターネットから入手できるパッケージが正しい配布先のものかどうかのチェックなどに利用しています。

出典:日経クロステック https://xtech.nikkei.com/it/article/Keyword/20091204/341579/

だそうです。

今回のエラーの原因はMySQL 5.7を更新するためのリポジトリとの正規の通信かどうかを判断するための公開鍵がインストールされているが正しいものではないよ、ということのようだ。

さてどうしようか

とりあえず /etc/yum.repos.d/mysql-community.repo 内の [mysql57-community] 以下の gpgcheck=1 を

gpgcheck=0

に変更してGPGキーによるチェックを行わないようにした(あんまり良くないだろうけどw)。これで更新は完了できた。

根本的な解決には

新しいキーをインポートしてやると良いそうだ。

SOLVED [UPS-421] MySQL 5.7.36 -> 5.7.37 upgrade failed due to GPG keys, causing upcp/rpmup failure warning email

https://forums.cpanel.net/threads/ups-421-mysql-5-7-36-5-7-37-upgrade-failed-due-to-gpg-keys-causing-upcp-rpmup-failure-warning-email.697217/

MySQL GPG keys expired, preventing installation/upgrade of MySQL packages from the official repository.

https://support.cpanel.net/hc/en-us/articles/4419382481815?input_string=gpg+keys+problem+with+mysql+5.7

我がサーバも

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

で更新して、/etc/yum.repos.d/mysql-community.repo 内の[mysql57-community]以下、

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

を、

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022

にしてみた。これで良いのかしら。次回更新があったときまで動作確認出来ないがたぶん大丈夫だろう。

コメントを残す

メールアドレスが公開されることはありません。