Linux系统安装MongoDB时依赖包错误问题求助
解决MongoDB安装时libssl1.0.0依赖缺失问题
这个问题我之前帮不少人排查过——核心原因是你用的MongoDB 3.6源是针对Debian Wheezy的,但你的系统大概率是更新的Debian版本(比如Buster、Bullseye),这些新版本的软件仓库已经移除了libssl1.0.0包,所以apt根本找不到满足要求的依赖,哪怕你执行apt-get update或者apt-get check也没用,因为这些命令解决不了“仓库里没有对应包”的问题。
下面给你两种可行的解决思路,你可以根据自己的需求选择:
方法一:手动安装libssl1.0.0包
既然系统仓库没有,我们可以从Debian的归档仓库下载对应的包来安装:
- 先确认你的系统架构(绝大多数是amd64):
dpkg --print-architecture - 下载对应架构的
libssl1.0.0deb包(以amd64为例):wget http://archive.debian.org/debian/pool/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u12_amd64.deb - 安装这个包:
如果安装时提示依赖冲突,执行下面的命令自动修复:sudo dpkg -i libssl1.0.0_1.0.1t-1+deb8u12_amd64.debsudo apt-get install -f - 再次尝试安装MongoDB:
sudo apt-get install -y mongodb-org
方法二:更换适配你系统的MongoDB源(推荐长期方案)
MongoDB 3.6已经停止官方支持了,而且不同Debian版本的源是不通用的。你可以先确认自己的系统版本:
lsb_release -sc
然后替换成对应系统的MongoDB 3.6源(如果官方提供的话):
- 若系统是Debian Stretch:
echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/3.6 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list - 若系统是Debian Jessie:
echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.6 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
更新源后再执行安装:
sudo apt-get update sudo apt-get install -y mongodb-org
额外提醒
如果你的系统是Debian Bullseye或更新版本,MongoDB 3.6本身就不支持这类系统,这种情况下要么降级系统,要么升级MongoDB到4.4及以上版本(这些版本适配新的Debian系统,依赖的是libssl1.1或更高版本)。
内容的提问来源于stack exchange,提问作者ThisisFish
相关产品推荐
相关产品推荐

