MongoDB 4.0签名密钥过期致重装失败,求解决方法
解决MongoDB 4.0过期密钥导致的APT更新失败问题
问题背景
此前成功重装过MongoDB,但现在因MongoDB 4.0 Release Signing Key(密钥ID:68818C72E52529D4)于2023-04-17过期,无法完成重装。
执行sudo apt-key list查到的过期密钥信息:
sudo apt-key list ... pub rsa4096 2018-04-18 [SC] [expired: 2023-04-17] 9DA3 1620 334B D75D 9DCB 49F3 6881 8C72 E525 29D4 uid [ expired] MongoDB 4.0 Release Signing Key <packaging@mongodb.com> /etc/apt/trusted.gpg.d/certbot_ubuntu_certbot.gpg ...
已尝试的操作
sudo apt-key del 68818C72E52529D4 ... sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 68818C72E52529D4 ...
当前报错
执行sudo apt update时仍报错:
sudo apt update ... Err:19 http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 Release.gpg The following signatures were invalid: EXPKEYSIG 68818C72E52529D4 MongoDB 4.0 Release Signing Key <packaging@mongodb.com> Hit:20 https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/7.0 Release Ign:18 http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 Release.gpg Reading package lists... Done ...
解决方案
方法1:替换为MongoDB官方新密钥(适配4.0版本)
- 彻底删除旧的过期密钥:
sudo apt-key del 68818C72E52529D4
- 导入MongoDB官方为4.0版本提供的新签名密钥到系统密钥环:
curl -fsSL https://www.mongodb.org/static/pgp/server-4.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-4.0.gpg --dearmor
- 修改MongoDB源配置文件(通常路径为
/etc/apt/sources.list.d/mongodb-org-4.0.list),将原有内容替换为以下格式,指定使用新密钥环验证签名:
deb [signed-by=/usr/share/keyrings/mongodb-server-4.0.gpg] http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main
- 执行更新验证:
sudo apt update
方法2:升级到受支持的MongoDB版本(推荐)
MongoDB 4.0已停止官方支持,升级到更高版本可避免此类问题,步骤如下:
- 备份现有MongoDB数据:
mongodump --out /path/to/your/backup/folder
- 卸载旧版本MongoDB:
sudo apt remove --purge mongodb-org* sudo rm -r /var/log/mongodb sudo rm -r /var/lib/mongodb
- 删除旧的源文件和密钥:
sudo rm /etc/apt/sources.list.d/mongodb-org-4.0.list sudo apt-key del 68818C72E52529D4
- 安装对应新版本的源和密钥(以7.0版本适配Ubuntu Focal为例):
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor echo "deb [signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
- 安装新版本并恢复数据:
sudo apt update sudo apt install -y mongodb-org mongorestore /path/to/your/backup/folder
内容的提问来源于stack exchange,提问作者f1vlad
相关产品推荐
相关产品推荐

