使用aptitude在服务器上安装mongoDB与下载/提取tar文件相比有什么优势吗?

使用aptitude在服务器上安装mongoDB与下载/提取tar文件相比有什么优势吗?,mongodb,node.js,mongoose,aptitude,Mongodb,Node.js,Mongoose,Aptitude,我目前正在编写一个网络应用程序的服务器端代码,这是我有生以来的第一次。我正在使用nodeJS,并计划使用MongoDB作为我的数据库。在MongoDB网站上,他们的教程将下载MongoDB文件并将其解压缩到本地文件夹中,但我已经通过aptitude安装了所有内容 以这种方式将数据库文件保存在本地文件夹中而不是使用包管理器有什么好处吗?我觉得在将来有新的MongoDB版本时,通过包管理器更新代码会更容易,但我真的不确定 是否有人能够列出使用一种方法与使用另一种方法的优缺点?如果我打算在将来使用猫鼬

我目前正在编写一个网络应用程序的服务器端代码,这是我有生以来的第一次。我正在使用nodeJS,并计划使用MongoDB作为我的数据库。在MongoDB网站上,他们的教程将下载MongoDB文件并将其解压缩到本地文件夹中,但我已经通过aptitude安装了所有内容

以这种方式将数据库文件保存在本地文件夹中而不是使用包管理器有什么好处吗?我觉得在将来有新的MongoDB版本时,通过包管理器更新代码会更容易,但我真的不确定

是否有人能够列出使用一种方法与使用另一种方法的优缺点?如果我打算在将来使用猫鼬,那么使用一种方法和另一种方法会有所不同吗

最好的,谢谢,
萨米人

是否有人能够列出使用一种方法与使用另一种方法的优缺点

软件包管理器的优点:

  • 跨多台机器复制安装过程很容易
  • 它通常附带一个配置文件和“服务”设置(取决于您的软件包)
软件包管理器缺点:

  • 命名当前不一致
  • 可能无法获得所需的bug修复版本
我觉得在将来有新的MongoDB版本时,通过包管理器更新代码会更容易,但我真的不确定

这里的问题是10gen对其包名的描述非常粗略。当前包名为
mongodb-10gen
,它是
mongodb-stable
。版本1.6到1.8发生了突破性的变化,1.8到2.0(或1.10或其他版本)也可能发生同样的变化

您会注意到包中没有版本号。所以有一天你可以添加一个服务器,发现它运行的是1.10而不是1.8。(可能会破坏代码)


由于MongoDB是一款年轻的产品,因此最好只保留一份“当前开发”版本的副本,以便将正确的版本部署到所有服务器。整个
wget/tar
过程并没有那么繁重。

我的观点是,包管理器更好

软件包管理器专业人员

  • 与操作系统的其他部分保持一致
  • 提供清点已安装软件包的能力
  • 提供适当的自动卸载功能
  • 具有更强大的内置功能(如果出现问题,不会在文件系统上留下1/2的tar文件)
  • 被专门创建为比普通的旧tar文件更好
  • 促进其他mongodb/ubuntu用户之间的一致性
  • smarts可用于更好的升级(保留配置文件、交互式差异等)
软件包管理器缺点

  • 灵活性/可定制性较差(但实际上这是一件伪装的好事)
请注意,要解决@Gates关于在第1天安装服务器1并获得mongodb版本1,然后在第2天构建服务器2并获得mongodb版本2的观点,这是很好的默认行为。如果要确保版本匹配,可以安装如下特定版本

apt-get install mongodb-10gen=1.8.2

瞧。

非常感谢您!我通过aptitude在我的本地机器上安装了它,但不想在我的服务器上这样做而不在这里重复检查。你说服了我不要!