我读了 MongoDB 安装说明,发现它们有一个私有存储库,说明会告诉你添加它。我想知道这是否真的有必要,因为 MongoDB 也在 Ubuntu 存储库中(Ubuntu 12.04)。我在想,也许他们发布到自己的存储库比发布到 Ubuntu 的存储库更容易?但我真的不确定。只是想知道是否有人可以解释一下。
答案1
您会发现 Ubuntu 存储库和 MongoDB 项目自己的存储库之间的主要区别在于它们对“稳定”的定义。
Ubuntu 存储库将在其存储库中保留最初使用您正在运行的 Ubuntu 版本进行测试的 MongoDB 主版本。新版本 MongoDB 中发布的任何安全更新或重大错误修复都将反向移植到 Ubuntu 存储库中的旧版本中,而不是引入一个具有潜在不兼容性、配置文件更改、功能和错误的全新主版本。
另一方面,MongoDB 项目一旦认为新版本稳定,就会将其发布到其存储库中。
本质上,主要的区别在于,如果您使用 MongoDB 项目的存储库,您将更早获得新版本 - 如果您需要使用当前版本,这可能是一件好事,但如果升级到新版本时出现错误或不兼容问题,则可能会给您带来麻烦。
答案2
Shane 的上述回答解释了为什么这两个存储库之间存在差异,以及主要版本冻结政策如何影响发布的版本。这基本上归结为发布频率。如果仅基于 2 年周期进行更新(如 LTS 目前的情况),相对较新且活跃的产品将变得相当陈旧。
如果您要更新到 12.10 版本和 13.04 等,那么您可能就不会感到太难了,因为可以保持相对最新状态。
如果您打算继续使用 LTS 直到 14.04 或更高版本,那么关于 MongoDB 的一般建议是:
目前 12.04 附带的版本是 2.0.4,在撰写此答案时它是最新版本,2.0.5 即将发布。目前,这意味着两者大致相当。但是 12.04 是 LTS 版本 - 这意味着距离新的 LTS 版本还有 2 年的时间,并且距离不再支持还有 5 年的时间。
2.0 分支可能会再发布一两个版本,然后进行反向移植。2.2 将在未来几个月内发布。两年后,MongoDB 可能会是 3.0 或更高版本,您将落后 4 个主要版本。五年后,差异会更大,两个版本可能一点也不相似。例如,看看 11.04 (1.6) 附带的版本与现在的版本,根本不建议使用 1.6 - 而这仅仅是 1 年之后。
因此,如果您想了解最新产品的功能,那么 10gen repo 将比 Ubuntu repo 中冻结的 2.0.x 版本是一个更好的长期选择。
一旦 MongoDB 每 18-24 个月推出一个版本,Ubuntu 存储库将是一个安全的选择,当周期明显缩短时,您通常最好探索其他选项。