MongoDB GPG - 无效签名

我在 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 error: http://repo.mongodb.org trusty/mongodb-org/3.2 Release: The following signatures were invalid: BADSIG D68FA50FEA312927 MongoDB 3.2 Release Signing Key

如果我忽略警告并尝试运行:

sudo apt-get install -y mongodb-org

我明白了:

WARNING: The following packages cannot be authenticated!
mongodb-org-shell mongodb-org-server mongodb-org-mongos mongodb-org-tools mongodb-org E: There are problems and -y was used without --force-yes

关于如何解决的任何想法?谢谢!

最佳答案

在一个命令中从 Ubuntu key 服务器更新所有过期 key :

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 - 列出系统中安装的所有 key ;
  2. grep "expired:" - 只保留键过期的行;
  3. sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp' - 提取 key ;
  4. xargs -n1 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys - 通过找到的过期 key 更新来自 Ubuntu key 服务器的 key 。

Source

https://stackoverflow.com/questions/34733340/

相关文章:

node.js - Mongoose findByIdAndUpdate 没有返回正确的模型

javascript - Mongoose .js : Find user by username

mongodb - MongoDB 中 Multi-Tenancy 数据库的推荐方法是什么?

mongodb - Meteor 应用程序 — 重置已部署应用程序的数据库

mongodb - 值不为空的 Mongoose 查询

mongodb - 在 MongoDB 中查找重复记录

ruby - Mongoid 还是 MongoMapper?

mongodb - 在 Mongoose/MongoDB 中创建多字段索引

python - 用于 Python 的 MongoDB ORM?

mongodb - 如何在 MongoDB 中将集合导出到 CSV?