Ubuntuとアップデートのエラーは切り離せません。新しいソースを追加した後、システムを更新しているときにエラーが発生することがあります。先日、このGPGエラーが発生したときにMateデスクトップ環境をインストールしようとしていました システムの更新中:
W:GPGエラー:http://repo.mate-desktop.org saucy InRelease:公開鍵が利用できないため、次の署名を検証できませんでした:NO_PUBKEY 68980A0EA10B4DE8
エラーのスクリーンショットは次のとおりです。
このクイック投稿では、この W:GPGエラーを修正する方法を紹介します:公開鍵が利用できないため、次の署名を検証できませんでした:いいえ エラー。また、最初にこのエラーが発生する理由と、私が言及した解決策でエラーが修正される方法についても説明します。
GPGエラーを修正:次の署名を確認できませんでした
このエラーは、システムが特定のGPG公開鍵(PUBKEY)を識別できないことを示しています。あなたがする必要があるのは、システムでこの公開鍵をフェッチすることです。
システムに表示されるエラーメッセージからキー番号を取得します。上記のメッセージでは、不明なキーは68980A0EA10B4DE8です。 それはあなたにとって何か違うものになるでしょう。
次に、apt-keyコマンドを使用してこの公開鍵をUbuntuシステムに追加します。
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 68980A0EA10B4DE8
apt-keyコマンドが廃止されるという警告メッセージが表示された場合は、無視してください。
上記のコマンドは、システムにキーを追加します。 sudo apt-get updateを実行するだけです このエラーはもう表示されないはずです。
このエラーを修正する方法がわかったので、このエラーが発生する理由と修正方法を学びます。
なぜこのエラーが表示されるのですか?
UbuntuおよびDebianベースのディストリビューションのAPTパッケージマネージャーは、GPGで信頼/セキュリティメカニズムを採用しています。 SSHと同様に、GPGにも公開鍵と秘密鍵のペアがあります。公開鍵は共有され、秘密鍵は秘密にされます。
Ubuntu自体、PPA、またはサードパーティのリポジトリにあるすべてのリポジトリは、開発者によってGPGキーで署名されています。リポジトリをシステムに追加すると、その開発者の公開GPGキーがシステムの信頼できるGPGキーに追加されます。これにより、Linuxシステムがリポジトリからのパッケージを確実に信頼できるようになります。
次のコマンドを使用して、システムに保存されているGPGキーを確認できます。
apt-key list
上のスクリーンショットでわかるように、一部のGPGキーにも有効期限があります。開発者が自分のキーを更新しない場合、または開発者がキーを変更した場合、システムはそれについて文句を言います。
そして、それはまさに私の場合のエラーで起こったことです。おそらく、開発者はGPGキーを変更し、新しいキーでリポジトリに署名しました。この新しい公開鍵はシステムの信頼できるGPG鍵に追加されていないため、Ubuntuはこの特定のリポジトリからパッケージをダウンロードせず、言及された鍵を検証できなかったことを通知します。
ここまでは順調ですね?ここで、問題を解決するために、システムの信頼できるGPGキーに新しい未確認のキーを追加しました。これにより、システムはそのGPGキーで署名されたリポジトリの信頼を開始し、エラーは表示されなくなります。
しかし、それはあなたに別の質問を疑問に思うままにします:
新しいGPGキーをやみくもに追加する必要がありますか?
いいえ。変更されたGPGキーが実際に開発者からのものであるかどうかをいつでも再確認できます。
どうやってそれをしますか?開発者のリポジトリページから。つまり、通常、開発者のプロジェクトページにこのインストール手順が記載されたページがあります。彼らはそこでGPGキーについて言及しています。キーが変更された場合は、インストールページにその旨が記載されているはずです。それ以外の場合は、開発者に連絡することができます。
PPAを使用した場合は、LaunchpadのPPAページに移動し、メンテナのプロファイルをクリックすると、このプロファイルに公開GPGキーが表示されます。変更したキーと一致させることができます。
もちろん、これらすべてにおいて、あなたは開発者があなたに正しいリポジトリとパッケージを提供することを信頼しています。そもそも開発者を信頼しているので、正当な理由がない限り、開発者を再び信頼することができます。
「次の署名を確認できませんでした」というエラーを修正しただけでなく、なぜそれが発生したのか、どのように修正されたのかを知っていただければ幸いです。
質問?提案?コメントセクションはすべてあなたのものです。