1. ホーム
  2. mongodb

[解決済み] MongoDB GPG - 無効なシグネチャ

2022-11-29 13:17:28

質問

Ubuntu 14.04 マシンに MongoDB をインストールしているのですが、以下の手順を参考にしています。 https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/

だから、私は走る。

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927

そして

echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

に続く。

sudo apt-get update

その後、更新の最後に以下のような警告が表示されます。

W: GPG エラーです。 http://repo.mongodb.org trusty/mongodb-org/3.2 Release: 次の署名が無効でした。BADSIG D68FA50FEA312927 MongoDB 3.2リリース署名キー

警告を無視して実行しようとすると

sudo apt-get install -y mongodb-org

得る。

警告: 次のパッケージは認証できません!

mongodb-org-shell mongodb-org-server mongodb-org-mongos mongodb-org-tools mongodb-org E: 問題があり、-force-yes なしで -y が使用されました。 を使用し、-force-yes を使用しない場合。

解決する方法について何かアイデアはありますか?ありがとうございます。

どのように解決するのですか?

Ubuntuのキーサーバーから期限切れのキーをすべて1つのコマンドで更新します。

sudo apt-key list | \
 grep "expired: " | \
 sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp' | \
 xargs -n1 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys

コマンドの説明です。

  1. sudo apt-key list - は、システムにインストールされているすべてのキーをリストします。
  2. grep "expired: " - は、期限切れのキーを持つ行だけを残します。
  3. sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp' - はキーを抽出します。
  4. xargs -n1 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys - は、期限切れのものを見つけることによって、Ubuntuキーサーバからキーを更新します。

ソース