繁体   English   中英

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

[英]Unable to install mongodb properly on ubuntu 18.04 LTS

我正在尝试在我的 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 install' 来纠正这些错误。 以下包具有未满足的依赖项:

我试过了,

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,这样我就可以毫无问题地工作了。

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

sudo apt-get purge mongodb-org*

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

sudo apt-get install mongodb

然后更新:

sudo apt-get update

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

mongo --version

只想在这里插话。 我是 MongoDB Server Docs 的高级技术作家。 这篇文章是“在 Ubuntu 18.04 上安装 MongoDB”的少数文章之一,这里有几条评论引用了mongodb包进行安装。 Ubuntu 提供的非官方mongodb包不由 MongoDB 维护。 您应该始终使用官方的 MongoDB mongodb-org包。 此外,从一些个人测试看来,如果您尝试安装mongodb mongodb-org ,安装 mongodb 会导致问题,所以它只会增加麻烦

有几次我在本地测试时遇到这个问题,尝试安装其中一个子包(即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来修复系统。

基于这个出色的答案: 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 源列表后运行。

这是因为到目前为止,适用于 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,这不受支持,很可能不会安装最新版本。

在 ubuntu 18.04 上安装 MongoDB 和使用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.
  1. 检查/目录看是否有data/db目录,如果没有:

     $ sudo mkdir -p /data/db
  2. 要首先运行mongod ,您需要停止 mongodb:

     $ sudo systemctl stop mongodb
  3. 最后,您可以运行mongod

     $ sudo mongod

cd /etc/apt/sources.list.d

删除与 mongodb 相关的文件

sudo apt update

这为我解决了。

卸载并删除任何 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 服务器的状态。

如果您需要将 mongodb 二进制文件(手动)安装到 Ubuntu 18.04 LTS(仿生)。 您需要从此链接下载 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 的版本并根据需要使用它。 在此处输入图像描述

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

我遇到了同样的问题,对我来说解决方案是清除,但使用 (*) 。 清除一切,所以我这样做了:

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

然后我按照文档中的步骤进行操作。 (实际版本是4.2.2),安装在Ubuntu 18.04。 (网址: 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

我希望它对某人有帮助

运行sudo apt autoremove并重新安装mongodb

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

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

  1. 以下 mongo DB 手册https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu-tarball/中的手动安装步骤
  2. 使用以下配置下载 .tgz下载 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 lib 版本(即“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 正在运行。

这个对我有用。

此问题仅在Ubuntu 22.04上,

试试这个:

echo "deb http://security.ubuntu.com/ubuntu impish-security main" | sudo tee /etc/apt/sources.list.d/impish-security.list

sudo apt-get update

sudo apt-get install libssl1.1

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

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

; 在此处输入图像描述

在此处输入图像描述

对我来说,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

尝试在 Pop._OS 22.04 LTS(或 Ubuntu 22.04 LTS)中安装 mongo-db 时,我遇到了 libssl1.1 问题。

  1. Go 到http://archive.ubuntu.com/ubuntu/pool/main/o/openssl
  2. 查找 libssl 的确切版本,例如 libssl1.1.1
  3. wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1-1ubuntu2.1~18.04.20_amd64.deb
  4. 然后安装
  5. sudo dpkg -i libssl1.1_1.1.1-1ubuntu2.1~18.04.20_amd64.deb

希望这可以帮助其他正在尝试做同样事情的人。

https://github.com/dotnet/sdk/issues/24759中引用了该问题。

所有功劳归@feisalramar。

试试这个,我成功找到了

$ sudo apt-get install -y mongodb

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM