GNU/Linux >> Linux の 問題 >  >> Debian

GPG キーが見つからない apt リポジトリ エラーを修正 (NO_PUBKEY)

Debian、Ubuntu、または Linux Mint apt update で実行すると、GPG 公開鍵 (「NO_PUBKEY」) がないというエラーが表示される場合があります / apt-get update .これは、リポジトリを追加してその公開鍵を追加するのを忘れた場合、または GPG キーをインポートしようとしたときに一時的なキー サーバー エラーが発生した場合に発生する可能性があります。

apt update を実行する場合 / apt-get update 、または GUI ツールを使用してソフトウェア ソースを更新しようとすると、apt はすべてのリポジトリ インデックスをダウンロードできるわけではないと訴え、次のようなエラーを表示します:

W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://ppa.launchpad.net/linuxuprising/apps/ubuntu bionic InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY EA8CACC073C3DB2A
W: Failed to fetch https://ppa.launchpad.net/linuxuprising/apps/ubuntu/dists/bionic/InRelease  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY EA8CACC073C3DB2A
W: Some index files failed to download. They have been ignored, or old ones used instead.

これはほんの一例です。このエラーは、Launchpad PPA リポジトリだけでなく、Google、Vivaldi、Node.js などによって提供されるリポジトリでも発生する可能性があります。

エラー メッセージには、リポジトリが更新されず、以前のインデックス ファイルが使用されることが示されています。つまり、このリポジトリから更新を取得できないため、GPG 公開鍵をインポートしてこの問題を解決する必要があります。

非常に簡単に修正する方法 The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ... エラー。 Debian、Ubuntu、Linux Mint、Pop で動作するはずです。 _OS、基本 OS、および Debian または Ubuntu ベースのその他の Linux ディストリビューション。

解決策 1:単一のリポジトリ / キーの NO_PUBKEY をすばやく修正します。

GPG 公開リポジトリ キーが不足している場合は、Ubuntu / Linux Mint / Pop! でこのコマンドを実行できます。 _問題を解決するための OS / Debian システム:

sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net:80 --recv-keys THE_MISSING_KEY_HERE

THE_MISSING_KEY_HERE を置き換える必要があります 欠落している GPG キーを使用します。キーは NO_PUBKEY の後ろの apt update / apt-get update ログに表示されます。たとえば、上記のエラー メッセージでは、このコマンドで使用する不足している GPG キーは次のとおりです:EA8CACC073C3DB2A .

参照:「ロック / var / lib / dpkg / ロックを取得できませんでした – オープン (11 リソースが一時的に利用できません)」エラーを修正する方法

解決策 2:不足しているすべての GPG キーのバッチ インポート

いくつかの公開 OpenPGP キーを紛失した場合は、次のワンライナーでそれらを一度にインポートできます:

sudo apt update 2>&1 1>/dev/null | sed -ne 's/.*NO_PUBKEY //p' | while read key; do if ! [[ ${keys[*]} =~ "$key" ]]; then sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net:80 --recv-keys "$key"; keys+=("$key"); fi; done


コマンドの一部を変更する必要はありません。そのまま実行してください。これは、欠落している 1 つの GPG キーを修正するためにも機能しますが、やや冗長です。それにもかかわらず、不足している GPG キーがいくつあっても機能します。

コマンドは sudo apt update を実行しています ソフトウェア ソースを更新し、不足している GPG キーを検出し、不足しているキーをインポートします hkp://pool.sks-keyservers.net:80 彼のサーバーとして。このサーバーは他の多くのサーバーと常に同期されているため、キーが更新されているはずです。必要に応じて、別のサーバーを使用できます。

また、このコマンドは配列を使用して、すでにキーをインポートした不足している GPG キーを格納します。そうしないと、不足しているキーごとにキー インポート コマンドが 2 回実行されます。

こちらもご覧ください:Linux で GUI を使用して PGP キーを作成 (および公開) する方法


Debian
  1. ダウンロードしたDebianISOイメージの信憑性を検証する方法

  2. APTで期限切れのキーを削除します

  3. YUMインストール中に「GPGキーの取得に失敗しました」エラーを修正するにはどうすればよいですか?

  1. Debian / UbuntuのMySQLAPTリポジトリのGPGキーを更新するにはどうすればよいですか?

  2. Debian –プロキシの背後にAptキーを使用してGpgキーを追加できませんか?

  3. Ubuntu –OpenSUSEリポジトリでKeyexpired?

  1. Gpg:ユーザーによってキャンセルされましたか?

  2. Debian –なぜFedora Gpgキーが署名されていないのですか?

  3. sudo:add-apt-repository:command not found エラーを修正