无法在ubuntu 18.04 LTS上正确安装mongodb

时间:2018-07-19 08:19:58

标签: mongodb ubuntu

我正在尝试在Ubuntu 18.04 LTS上安装mongodb,但是出现以下错误提示

  

您可能需要运行“ apt --fix-broken install”来更正这些问题。的   以下软件包具有未满足的依赖关系:mongodb-org:依赖于:   mongodb-org-server,但不会安装                  取决于:mongodb-org-mongos但它不会被安装                  取决于:mongodb-org-tools,但是不会被安装E:未满足的依赖关系。尝试使用“ apt --fix-broken install”   没有软件包(或指定解决方案)。   umar @ umar-Lenovo-ideapad-320-15ISK:〜/ Desktop / Portfolio / async-demo $   sudo apt-get install -y mongodb

我相信这背后的原因已经在他们的网站上提到,清楚地说

  

平台支持

     

MongoDB仅提供用于64位LTS的软件包(长期支持)   Ubuntu版本;例如,14.04 LTS(可信任)和16.04 LTS   (xenial)。有关更多信息,请参见支持的平台。

     

这些软件包可以与其他Ubuntu版本一起使用。但是,它们是   不支持。

那么如何在最新的Ubuntu 18.04 LTS上安装mongodb? 为了清楚起见,我列出了为纠正错误所做的事情: 我跟随他们的官方网站安装了mongodb

1. sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
2. echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
3. sudo apt-get update
4. sudo apt-get install -y mongodb-org
  

现在这里我出现错误提示:您可能要运行'apt --fix-broken   安装”来更正这些。以下软件包尚未满足   依赖项:

我尝试过

apt --fix-broken install

它不起作用,在我有线索可以运行的地方

sudo apt -f install

它也返回错误。

  

处理时遇到错误:   /var/cache/apt/archives/mongodb-org-server_4.0.0_amd64.deb   /var/cache/apt/archives/mongodb-org-mongos_4.0.0_amd64.deb   /var/cache/apt/archives/mongodb-org-tools_4.0.0_amd64.deb E:   子进程/ usr / bin / dpkg返回错误代码(1)

我认为主要问题是与版本的兼容性。所以基本上我有了Ubuntu 18.04,如何在此版本上安装mongodb,这样我可以毫无问题地工作。

14 个答案:

答案 0 :(得分:8)

您需要先卸载mongodb,可以使用:

sudo apt-get purge mongodb-org*

此后,通过以下命令安装mongodb:

sudo apt-get install mongodb

然后更新:

sudo apt-get update

您已完成mongodb的安装。您可以使用以下命令进行检查:

mongo --version

答案 1 :(得分:3)

这是因为到目前为止,用于Ubuntu 18.04的Mongo DB仅作为开发版本可用(请参阅:MongoDB Distros)。

我只是通过以下操作安装了它:

添加相应的签名:

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4B7C549A058F8B6B  

添加受支持的版本:

echo "deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/development multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

更新:

    sudo apt update

安装:

sudo apt install mongodb-org-unstable

如果出现“ GPG错误”,请使用错误消息中显示的密钥重复步骤1。您也许可以通过

安装
sudo apt install mongodb

但是根据MongoDB,这不受支持,并且很可能不会安装最新版本。

答案 2 :(得分:2)

基于此出色的答案: https://stackoverflow.com/a/51421152/659354

此页: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/

我用来安装 MongoDB 4.2

的命令

sudo apt-get purge mongo*-注意: mongo可以同时删除客户端和服务器。

sudo apt-get install mongodb-org-注意:在将Mongodb.org来源添加到Apt-get来源列表中后,运行安装命令。

答案 3 :(得分:1)

只是想在这里鸣响。我是MongoDB服务器文档的高级技术作家。这篇文章是“在Ubuntu 18.04上安装MongoDB”附带的一些文章之一,这里有几条评论引用mongodb软件包进行安装。 MongoDB不维护Ubuntu提供的非官方mongodb软件包。您应该始终使用官方的MongoDB mongodb-org软件包。此外,从一点个人测试来看,如果您尝试安装mongodb,似乎安装了mongodb-org会引起问题,因此这只会增加麻烦

几次在本地测试时遇到此问题,尝试安装其中一个子软件包(即mongodb-org-server)通常会出现实际错误(即缺少libcurl3,该错误已在18.04作为默认安装的库)。在开发测试构建时,这些问题可能更常见(在撰写本文时,这是4.2开发人员系列)。

要检查您在本地系统上安装了哪个软件包,请运行以下命令:

sudo apt list --installed | grep mongo

这是我安装mongodb然后尝试mongodb-org之后的输出:

mongo-tools/bionic,now 3.6.3-0ubuntu1 amd64 [installed,auto-removable]
mongodb-org/bionic,now 4.0.5 amd64 [installed]
mongodb-org-shell/bionic,now 4.0.5 amd64 [installed,automatic]
mongodb-server-core/bionic,now 1:3.6.3-0ubuntu1 amd64 [installed,auto-removable]

所以您可以看到,我在这两个软件包之间混合使用(以及一堆dkpg错误)。我最终使用apt removeapt autoremoveapt purge的组合来修复系统。

答案 4 :(得分:1)

我遇到了同样的问题,对我来说,解决方案是清除,但带有(*)。清除所有东西,所以我这样做了:

sudo apt-get purge mongo-tools*
sudo apt-get purge mongodb*

然后我按照文档中的步骤进行操作。 (实际版本是4.2.2),并且安装是在Ubuntu 18.04中进行的。 (URL:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/

wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -

echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list

sudo apt-get update

sudo apt-get install -y mongodb-org

有了文档中的四个步骤,我终于在Ubuntu上安装了mongodb社区版。我的问题是3个文件无法处理。

mongodb-org-server
mongodb-org-mongos
mongodb-org-tools

我希望它能对某人有所帮助

答案 5 :(得分:0)

如果需要将mongodb二进制文件(手动)安装到Ubuntu 18.04 LTS(Bionic)。您需要从此link下载mongodb .tgz文件。

1)将其下载到〜/ Downloads文件夹,然后通过键入mv Downloads/mongodb-linux-x86_64-ubuntu1804-4.0.4.tgz ~/

将其移至主目录。

2)然后通过键入tar -zxvf mongodb-linux-x86_64-ubuntu1804-4.0.4.tgz将其放置在此处(主目录/ home /)。不要从这里移动它。

3)然后在/ data / db位置创建一个目录,并对该目录授予写权限。

sudo mkdir -p /data/db

sudo chmod -R 777 /data/db

4)现在,这是棘手的区域。通过输入pwd(当前工作目录)来确保您在hme目录中。

pwd 

它将显示

/home/<your user name>

然后输入

ls -al

此命令将显示主目录中的所有隐藏文件并搜索

~/.bashrc

5)编辑.bashrc文件并编写

export PATH=mongodb-linux-x86_64-ubuntu1804-4.0.4/bin:$PATH

并保存文件类型source ./bashrc

然后在终端上键入echo $PATH,它将显示~/mongodb-linux-x86_64-ubuntu1804-4.0.4/bin:/home/xenon/.nvm/versions/node/v10.15.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin

6)现在在终端类型mongo --nodb上 它会显示MongoDB shell version v4.0.4

从这里开始,您已准备就绪,继续进行mongodb安装。这个安装有点复杂,但是通过这种方法,您可以轻松控制mongodb的版本并根据需要使用它。 enter image description here

7)然后启动mongod

>sudo mkdir -p /var/log && sudo chmod -R 777 /var/log
>mongod --port 27017 --dbpath /data/db --logpath /var/log/local.log --fork
>mongo --port 27017

答案 6 :(得分:0)

运行sudo apt autoremove并重新安装 mongodb

答案 7 :(得分:0)

安装MongoDB并在ubuntu 18.04上使用mongod命令的最简单方法。

1。更新软件包列表。

    $ sudo apt update

2。安装MongoDB。

    $ sudo apt install -y mongodb

3。检查服务状态。

    $ sudo systemctl status mongodb

3a。您应该会看到

    ● mongodb.service - An object/document-oriented database
      Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor 
      preset:enabled)
      Active: active (running) since Sat 2019-03-11 10:45:01 UTC; 4min 13s ago
      Docs: man:mongod(1)
      Main PID: 2312 (mongod)
      Tasks: 23 (limit: 1153)
      CGroup: /system.slice/mongodb.service
            └─2312 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config
      /etc/mongodb.conf

4。允许以默认的port 27017

访问MongoDB
     $ sudo ufw allow 27017

5。检查状态

     $ sudo ufw status

5a。你应该看到

     Status: active
     To                         Action      From
     --                         ------      ----
     27017                      ALLOW       Anywhere
     27017 (v6)                 ALLOW       Anywhere (v6)

5b。如果返回inactive

     $ sudo ufw enable

     Output:
     Firewall is active and enabled on system startup.

6。检查/目录,看是否有data/db目录,如果没有:

     $ sudo mkdir -p /data/db

7。要首先运行mongod,您需要停止mongodb:

     $ sudo systemctl stop mongodb

8。最后,您可以运行mongod

     $ sudo mongod

我希望我能帮助

答案 8 :(得分:0)

cd /etc/apt/sources.list.d

删除与mongodb相关的文件

sudo apt update

这为我解决了。

答案 9 :(得分:0)

只需运行命令 sudo apt install mongodb ,它将安装mongodb,因为mongodb现在已成为ubuntu存储库的一部分。安装后,运行命令 sudo service mongodb start 来启动mongodb服务器。然后,如果您运行命令 mongo ,它将为您提供shell助手。要查看现有数据库,请使用命令 show dbs 。成功安装后,您会发现其中现有的数据库名称为 admin,config,local 。使用命令 db 查看服务器上当前正在运行哪个数据库,将会有一个名为 test or somthing 的数据库。要添加集合(SQL DB上的表),只需将insert命令与初始文档(SQL DB中的行)一起使用,信息为 db.data.insert({“ username”:“ Brad Pitt”})
在上一个命令中,数据是我的收藏名称。 现在,要查看数据收集中的所有文档,只需使用命令 db.data.find() ;; 其他命令: sudo服务mongod状态,sudo服务mongodb停止,sudo服务mongod重新启动,sudo服务mongod停止。

有关更多信息,您可以访问https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/

; enter image description here

enter image description here

答案 10 :(得分:0)

对于Ubuntu 18.04 LTS版本,最好手动安装MongoDB。

我需要执行以下步骤以使其在我的Ubuntu 18.04上运行:

  1. 以下Mongo DB手册中的轻松手册安装步骤 https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu-tarball/
  2. 使用以下配置下载.tgz Download MongoDB
  3. 请注意,当您安装MongoDB 3.6或更高版本时,它将附带“ libcurl4”版本的Curl库,并且在ubuntu 18.04上存在一些兼容性问题
  4. 由于此,当您尝试执行“ mongod”命令时,最终将得到以下输出:

mongod:/usr/lib/x86_64-linux-gnu/libcurl.so.4:版本 找不到“ CURL_OPENSSL_3”(mongod必需)

  1. 要解决此问题,您需要使用以下命令来卸载“ libcurl4”依赖库

    sudo apt-get删除libcurl4

  2. 然后需要安装较低的curl版本(例如“ libcurl3”),因为mongo希望在ubuntu版本“ 18.04”上安装它。

    sudo apt-get install libcurl3

  3. 如果手动步骤失败,则可能需要使用“ sudo”在安装时派生数据和日志目录

    sudo mongod --dbpath / var / lib / mongo --logpath /var/log/mongodb/mongod.log --fork

  4. 您现在可以运行“ mongo”命令以查看mongo shell运行。

对我有用。

答案 11 :(得分:0)

卸载并删除所有Mongo软件包。

$ sudo apt-get purge mongodb-org*

检查相关目录是否已删除

$ sudo rm -r /var/log/mongodb
$ sudo rm -r /var/lib/mongodb

重新检查是否自动删除所有剩余的mongo软件包

$ sudo apt-get autoremove

配置目录

$ sudo dpkg --configure -a

强制安装所有必需的内容

$ sudo apt-get install -f

从官方站点安装:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/

最后像以前一样重新启动Ubuntu,并检查Mogodb服务器的状态。

答案 12 :(得分:0)

对于我在Pop_OS Linux 20.04 LTS上的帮助:

  1. $ sudo apt-get purge mongodb*

然后通过以下命令为Ubuntu 18.04(Bionic)创建/etc/apt/sources.list.d/mongodb-org-4.4.list文件:

  1. $ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

代替Ubuntu 20.04(Focal)

之后,安装mongodb-org:

  1. $ sudo apt-get update
    $ sudo apt-get install -y mongodb-org

并启动mongodb服务:

  1. $ sudo systemctl start mongod

答案 13 :(得分:-1)

尝试一下,我成功找到了

$ sudo apt-get install -y mongodb