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