簡體   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