簡體   English   中英

在 aws linux 上 yum install mongodb 失敗:沒有可用的包

[英]yum install mongodb on aws linux fails: no package available

目的

我正在嘗試通過 Yum 在 EC2 AWS x86_64 GNU/Linux 上安裝 mongodb。

先決條件

我創建了一個/etc/yum.repos.d/mongodb.repo文件並嘗試了在官方文檔和有關 stackoverflow link1 link2 link3的相關問題中找到的所有可用組合,例如:

[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

(...也嘗試啟用=0,gpgcheck=0)

我還添加了一個/etc/yum.conf文件,如下所示:

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=3

問題

運行sudo yum install mongodb-org (或通過指定包sudo yum install mongo-org mongo-org-server或通過指定版本時,我得到相同的輸出sudo yum install -y mongodb-org-3.2.13 mongodb-org-server-3.2.13 mongodb-org-shell-3.2.13 mongodb-org-mongos-3.2.13 mongodb-org-tools-3.2.13 )

Loaded plugins: priorities, update-motd, upgrade-helper amzn-main | 2.1 kB 00:00 amzn-updates | 2.3 kB 00:00 No package mongodb-org available. Error: Nothing to do

我錯過了什么? 是否有任何額外的依賴?

您不需要創建新的/etc/yum.repos.d/mongodb.repo或在此回答時/etc/yum.repos.d/mongodb-org-3.6.repo因為它已經存在但它是空的。

您可以查看: cat /etc/yum.repos.d/mongodb-org-3.6.repo

您需要做的就是在 vi 編輯器上打開文件:

$ sudo vi /etc/yum.repos.d/mongodb-org-3.6.repo
~
~

將此代碼添加到存儲庫文件中。 我提供的是 MongoDB 3.6,但您可以在文檔中找到早期版本的:

[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

要保存並退出 vi 編輯器,請檢查此處或繼續執行以下操作:

ESC + :wq

之后,您可以繼續執行文檔或舊的C9 論壇中的步驟,但這里是為了以防萬一:

$ sudo yum install -y mongodb-org

$ sudo mkdir -p /data/db
$ echo 'mongod --bind_ip=$IP --dbpath=data --nojournal --rest "$@"' > mongod
$ chmod a+x mongod

您可以通過在項目根目錄上運行 mongod 腳本來啟動 mongodb:

$ ./mongod

最后一個命令可能不會運行 mongodb 本地服務器,您可以在此處找到解決方案,或者繼續運行以下兩個命令:

$ sudo service mongod stop
$ sudo mongod

我能發現的唯一錯誤是 "name" 中的空格:

名稱=MongoDB 存儲庫

將命名更改為 name=MongoDB 后,我使用 CenOS 7 進行了測試:

# yum search mongodb-org
Loaded plugins: fastestmirror, langpacks
base                                      | 3.6 kB     00:00            
.      
mongodb-org-3.4                           | 2.5 kB     00:00     
updates                                   | 3.4 kB     00:00     
(1/5): mongodb-org-3.4/primary_db         |  30 kB   00:00     
.
=========================== N/S matched: mongodb-org ============
mongodb-org-debuginfo.x86_64 : Debug information for package mongodb-org
mongodb-org.x86_64 : MongoDB open source document-oriented database system
                   : (metapackage)
mongodb-org-mongos.x86_64 : MongoDB sharded cluster query router
mongodb-org-server.x86_64 : MongoDB database server
mongodb-org-shell.x86_64 : MongoDB shell client
mongodb-org-tools.x86_64 : MongoDB tools

所以我猜你現在可以安裝“mongodb-org”了。

問題是我想從默認的 ec2_user/ 主文件夾中執行此操作。 您需要 cd .. 到根目錄,然后在那里找到 etc/yum.repos.d/ 文件夾。

對於在運行 ARM AMI Linux 2 映像后發現此錯誤的人,只需直接從測試存儲庫安裝 RPM,這是唯一一個支持 Amazon AArch64 上所有二進制文件的程序:

https://repo.mongodb.org/yum/amazon/2/mongodb-org/testing/aarch64/RPMS/

例如,要安裝最新的 mongo shell:

sudo yum install -y https://repo.mongodb.org/yum/amazon/2/mongodb-org/testing/aarch64/RPMS/mongodb-org-shell-4.4.4-0.1.rc1.amzn2.aarch64.rpm

現在有一個專門用於 AWS Linux 的存儲庫。 按照https://docs.mongodb.com/master/tutorial/install-mongodb-on-amazon/ 中的說明進行操作,例如

[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc

當我的安裝命令指定sudo yum install mongodb-org-tools-4.0.18時發生了這種情況,但yum list available | grep mongo yum list available | grep mongo顯示只有 3.6 可用。 所以我做了sudo yum install mongodb-org-tools並且奏效了。

我認為您嘗試從/etc/yum.conf添加exclude目錄以防止將來更新,例如:

exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools

但是在執行 install mongodb-org 之后需要添加上面的行:

sudo yum install -y mongodb-org

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM