NO_PUBKEY 8C718D3B5072E1F5を解決する方法

NO_PUBKEY 8C718D3B5072E1F5を解決する方法

これで問題が発生しました。 Debian バージョン 9.13 で次のコマンドを実行すると sudo apt-get update このエラーが発生します。

Fetched 21.6 kB in 0s (34.9 kB/s)
Reading package lists... Done
W: GPG error: http://repo.mysql.com/apt/debian stretch InRelease: The following signatures 
couldn't be verified because the public key is not available: NO_PUBKEY 8C718D3B5072E1F5
W: The repository 'http://repo.mysql.com/apt/debian stretch InRelease' is not signed.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous 
to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.

このキーは有効期限が切れたため削除しました。 mysqlから新しいキーをダウンロードしました。これは私の適切なキーのリストです。

適切なキーのリスト

適切なキーリスト2

ただし、これまでは更新コマンドを実行できず、毎回このエラーが発生します。私はすべての可能な方法を試しましたが、失敗しました。特にWebホスティングサーバーに固有の問題なので、誰でもこの問題を解決するのに役立ちますか?

答え1

コピーこのGPGキーmysql_pubkey.ascファイルに移動して、次を実行します。

gpg --import mysql_pubkey.asc
gpg --fingerprint 5072E1F5

MySQLのドキュメントを参照してください。2.1.4.2 GnuPGを使用した署名の確認

答え2

apt-key廃止予定です。通常、apt-getここにはまだキーが保存されているという警告が表示されます/etc/apt/trusted.gpg。スクリーンショットによると、MySQLキーのみがここに保存されています。出力には警告は表示されませんが、apt-getマンページの「サポートの中止」セクションにあるアドバイスに従うようにしますapt-key

メンテナンススクリプトで apt-key del を使用する場合を除き、apt-key の使用は廃止されました。このセクションでは、既存のapt-keyの使用を置き換える方法について説明します。既存のapt-key追加の使用法が次の場合:
wget -qO-https://myrepo.example/myrepo.asc| sudo apt-key add -
次に、次のように直接置き換えることができます(以下のアドバイスに注意してください):
wget -qO-https://myrepo.example/myrepo.asc| sudo tee /etc/apt/trusted.gpg.d/myrepo.asc
ASCIIアーマードキーには「asc」拡張子を使用し、バイナリOpenPGP形式(「GPGキーとも呼ばれる」には「gpg」拡張子を使用する必要があります。公開リング」) )。バイナリOpenPGP形式はすべてのaptバージョンで動作し、ASCII armor形式はaptバージョン> = 1.4で動作します。
推奨事項:キーを/etc/apt/trusted.gpgに入れる代わりに、source.listのSigned-Byオプションを使用してdディレクトリのファイル名を指定して、ファイルシステムの任意の場所にキーを配置できます。詳細については、source.list(5) を参照してください。 APT 2.4以降、パッケージで管理されていないキーの推奨場所として/etc/apt/keyringsが提供されます。 deb822スタイルresources.listとaptバージョン> = 2.4を使用している場合は、署名者オプションを使用してファイルを添付せずに、ASCIIアーマードキーリング全体をresources.listに直接含めることもできます。

関連情報