进一步阅读

进一步阅读

mongodb 的官方 Vivitive 包是 2.x,MongoDB 提供的包如下:http://repo.mongodb.org/apt/ubuntu/dists/trusty/仅适用于 LTS 版本。

另一种选择是,我可以切换回 14.04 LTS,但我需要安装 openjdk-8-jdk,它仅适用于 animated。

答案1

如果您使用 Trusty 包,MongoDB 有可能无法启动:

Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.

在这种情况下,安装Debian Wheezy如最后描述的包。

安装 Trusty DEB 软件包

下载 DEB 文件

cd
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-mongos_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-server_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-shell_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org-tools_3.0.3_amd64.deb
wget http://repo.mongodb.org/apt/ubuntu/dists/trusty/mongodb-org/3.0/multiverse/binary-amd64/mongodb-org_3.0.3_amd64.deb

并安装(按此顺序)

sudo dpkg -i mongodb-org-server_3.0.3_amd64.deb
sudo dpkg -i mongodb-org-tools_3.0.3_amd64.deb
sudo dpkg -i mongodb-org-shell_3.0.3_amd64.deb
sudo dpkg -i mongodb-org-mongos_3.0.3_amd64.deb
sudo dpkg -i mongodb-org_3.0.3_amd64.deb

摘自评论,谢谢@Pilot6

它们可能相互依赖。这就是为什么逐个安装包可能会出错。我建议sudo dpkg -i mongodb*.deb


使用 Trusty PPA

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org

使用 Debian Wheezy 包

如果您使用 Trusty 包,MongoDB 有可能无法启动:

Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.

在这种情况下,安装Debian Wheezy如下所述的套餐

sudo apt-get remove mongodb-org
sudo apt-get autoremove
sudo rm /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org

答案2

使用 debian wheezy 存储库在我的 Ubuntu 15.04 中成功安装了 mongo 版本 3.0.6 - 请参阅以下步骤

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10

echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list

sudo apt-get update

sudo apt-get install -y mongodb-org

但是,在完成上述所有步骤并在我的计算机上安装 mongodb 后,现在当我尝试启动 mongodb 服务时sudo service mongod start会失败。抛出以下错误消息

Failed to start mongod.service: Unit mongod.service failed to load: No such file or directory.

以下是我如何解决并正常启动 mongodb

  • 更改 MongoDB 的默认数据存储文件/var/lib/mongodb/数据/数据库

  • sudo mkdir -p /data/db

  • sudo gedit /etc/mongod.conf并按如下方式更改“dbpath”行

  • 代替dbpath=/var/lib/mongodb数据库路径=/数据/数据库然后保存文件。

  • 然后删除旧的默认 /var/lib/mongodb

  • 现在我们必须让所有目录/文件都归 mongod 用户所有

  • 跑步sudo chown -R mongodb:mongodb /data/db

现在我终于可以用sudo service mongod start

并检查服务是否正在运行sudo systemctl status mongod - 它应该显示类似下面的消息

Loaded: loaded (/etc/init.d/mongod)

Active: active (running) since Thu 2015-09-03 04:57:49 IST; 7s ago

在我的博客文章

答案3

正如我之前所说:Debian/Ubuntu 软件包已使用 systemd 服务单元进行修补,以填补直接从 mongodb.org 发布的内容留下的空白。但mongodb.serviceWWW 上并不缺少单元文件。编写一个也不难。(我有。)

具体来说:你会发现这样的服务单位适用于 Ubuntu 版本 15 的 mongodb-server 版本 2.6 软件包. 还有mongodb.org 发布的服务单元确实如此。情况很简单,mongodb.org 的人们错误地将 RPM 的使用与特定于发行版的内容中的 systemd 的使用混为一谈。

请注意,具有讽刺意味的是,mongodb.org 提供的服务单元并不适用mongodb.org 本身推荐的 systemd 服务单元指令。Debian/Ubuntu 提供的也没有。但是,再说一遍:使用这些指令的手写服务单元并不难编写;或者实际上修改以添加像 numactl 这样的东西。☺

进一步阅读

答案4

作为@AB 优秀答案的简短补充。在 Vivid amd64 上,使用先前安装的 mongod 2.6.26,只需用替换现有sources.list.d文件即可

deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse

随后 dist-grade 自动运行。

sudo apt-get update
sudo apt-get dist-upgrade

相关内容