【问题标题】:yum install mongodb on aws linux fails: no package available在 aws linux 上 yum install mongodb 失败:没有可用的软件包
【发布时间】:2017-05-11 08:18:55
【问题描述】:

目的

我正在尝试通过 Yum 在 EC2 AWS x86_64 GNU/Linux 上安装 mongodb。

先决条件

我创建了一个/etc/yum.repos.d/mongodb.repo 文件并尝试了在official documentations 和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

问题

我错过了什么?有没有额外的依赖?

【问题讨论】:

    标签: linux mongodb amazon-web-services yum


    【解决方案1】:

    您不需要创建新的/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 的版本,但您可以在 documentation 中找到用于早期版本的版本:

    [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 编辑器,请检查 here 或继续执行此操作:

    ESC + :wq
    

    之后,您可以继续执行documentation 或旧的C9 Forum 中的步骤,但这里是为了以防万一:

    $ 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 本地服务器,您可以找到解决方案 here 或直接运行以下两个命令:

    $ sudo service mongod stop
    $ sudo mongod
    

    【讨论】:

      【解决方案2】:

      我能发现的唯一错误是“名称”中的空格:

      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”了。

      【讨论】:

      • 谢谢@knud-larsen,很好,但对我没有任何影响,仍然得到No package mongodb-org available. Error: Nothing to do
      • 不知道。 ...我也尝试使用您的 yum.conf 。没有问题。 yum search mongodb-org 可以,所有包都可用。
      【解决方案3】:

      问题是我想从默认的 ec2_user/ 主文件夹中执行此操作。您需要 cd .. 到根目录,并在那里找到 etc/yum.repos.d/ 文件夹。

      【讨论】:

        【解决方案4】:

        对于那些在运行 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
        

        【讨论】:

          【解决方案5】:

          现在有一个专门用于 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
          

          【讨论】:

            【解决方案6】:

            当我的安装命令指定sudo yum install mongodb-org-tools-4.0.18 时发生了这种情况,但yum list available | grep mongo 显示只有3.6 可用。所以我做了sudo yum install mongodb-org-tools 并且成功了。

            【讨论】:

              【解决方案7】:

              我认为您尝试从/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
              

              【讨论】:

                猜你喜欢
                • 2016-04-16
                • 2017-06-04
                • 1970-01-01
                • 2014-12-26
                • 1970-01-01
                • 1970-01-01
                • 2014-02-09
                • 2017-11-14
                • 1970-01-01
                相关资源
                最近更新 更多