如何从PPA安装特定MongoDB版本?安装版本不符问题求助
解决Ubuntu 16上安装MongoDB 3.4.10却自动升级到3.4.11的问题
我之前也踩过类似的APT包版本匹配的坑,尤其是MongoDB官方PPA会频繁推送同主版本下的最新小版本更新,咱们一步步来排查解决:
问题根源
APT的默认逻辑是优先安装满足条件的最新可用版本——如果你只模糊指定了3.4系列,或者只指定了mongodb-org=3.4.10但没同步指定它的子组件版本,APT会自动拉取3.4分支里的最新小版本(也就是3.4.11)来满足依赖,最后导致实际运行的版本和你预期的不一致。
解决步骤
1. 先清理错误安装的版本
先把已经装错的MongoDB包彻底卸载干净,避免残留影响:
sudo apt-get purge mongodb-org* sudo apt-get autoremove sudo apt-get autoclean
2. 精准安装指定版本的所有组件
MongoDB的官方包是拆分的(主包+server、shell、mongos、tools子包),必须给每个组件都明确指定3.4.10版本,才能强制APT安装你要的版本:
sudo apt-get install -y mongodb-org=3.4.10 mongodb-org-server=3.4.10 mongodb-org-shell=3.4.10 mongodb-org-mongos=3.4.10 mongodb-org-tools=3.4.10
3. 锁定版本防止自动更新
安装完成后,一定要把这些包的版本锁住,不然后续执行apt upgrade时,APT又会自动把它们升级到3.4分支的最新小版本:
echo "mongodb-org hold" | sudo dpkg --set-selections echo "mongodb-org-server hold" | sudo dpkg --set-selections echo "mongodb-org-shell hold" | sudo dpkg --set-selections echo "mongodb-org-mongos hold" | sudo dpkg --set-selections echo "mongodb-org-tools hold" | sudo dpkg --set-selections
验证结果
执行以下命令确认版本:
/usr/bin/mongod --version
现在应该会显示db version v3.4.10,符合你的预期了。
内容的提问来源于stack exchange,提问作者Cerin
相关产品推荐
相关产品推荐

