![](/img/trans.png)
[英]can't install Mongodb properly from terminal ubuntu 18.04 LTS
[英]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 remove
、 apt autoremove
和apt purge
来修复系统。
这是因为到目前为止,适用于 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
命令的最简单方法。
更新软件包列表。
$ sudo apt update
安装 MongoDB。
$ sudo apt install -y mongodb
检查服务的状态。
$ 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
允许在其默认port 27017
上访问 MongoDB
$ sudo ufw allow 27017
检查状态
$ 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.
检查/
目录看是否有data/db
目录,如果没有:
$ sudo mkdir -p /data/db
要首先运行mongod
,您需要停止 mongodb:
$ sudo systemctl stop mongodb
最后,您可以运行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 上运行:
mongod:/usr/lib/x86_64-linux-gnu/libcurl.so.4:找不到版本“CURL_OPENSSL_3”(mongod 需要)
要解决此问题,您需要使用以下命令卸载“libcurl4”依赖库
sudo apt-get 删除 libcurl4
然后需要安装回较低的 curl lib 版本(即“libcurl3”),因为 mongo 期望它在 ubuntu 版本“18.04”上
sudo apt-get install libcurl3
如果手动步骤失败,您可能需要使用“sudo”在安装过程中分叉数据和日志目录
sudo mongod --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongod.log --fork
您现在可以运行“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 帮助:
$ sudo apt-get purge mongodb*
然后通过以下命令为 Ubuntu 18.04 (Bionic) 创建/etc/apt/sources.list.d/mongodb-org-4.4.list
文件:
$ 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:
$ sudo apt-get update
$ sudo apt-get install -y mongodb-org
并启动 mongodb 服务:
$ sudo systemctl start mongod
尝试在 Pop._OS 22.04 LTS(或 Ubuntu 22.04 LTS)中安装 mongo-db 时,我遇到了 libssl1.1 问题。
希望这可以帮助其他正在尝试做同样事情的人。
https://github.com/dotnet/sdk/issues/24759中引用了该问题。
所有功劳归@feisalramar。
试试这个,我成功找到了
$ sudo apt-get install -y mongodb
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.