MongoDB不安装在CentOS 6.7上

时间:2016-02-05 16:51:09

标签: linux mongodb centos

我是Windows的人。当我需要使用基于Linux的操作系统时,我总是选择Ubuntu。但是,这次他们没有给我任何选择。

我尝试从此link of mongodb site安装MongoDB。我已经创建了存储库文件,然后我尝试安装它,我收到此错误消息:

Error: Package: mongodb-org-tools-3.2.1-1.amzn1.x86_64 (mongodb-org-3.2)
       Requires: libstdc++.so.6(CXXABI_1.3.5)(64bit)
Error: Package: mongodb-org-mongos-3.2.1-1.amzn1.x86_64 (mongodb-org-3.2)
       Requires: libstdc++.so.6(GLIBCXX_3.4.14)(64bit)
Error: Package: mongodb-org-shell-3.2.1-1.amzn1.x86_64 (mongodb-org-3.2)
       Requires: libstdc++.so.6(GLIBCXX_3.4.14)(64bit)
Error: Package: mongodb-org-server-3.2.1-1.amzn1.x86_64 (mongodb-org-3.2)
       Requires: libstdc++.so.6(CXXABI_1.3.5)(64bit)
Error: Package: mongodb-org-server-3.2.1-1.amzn1.x86_64 (mongodb-org-3.2)
       Requires: libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
Error: Package: mongodb-org-shell-3.2.1-1.amzn1.x86_64 (mongodb-org-3.2)
       Requires: libstdc++.so.6(GLIBCXX_3.4.15)(64bit)

根据这条消息,我认为我错过了libstdc++.so.6。所以我运行此命令来安装它:

 yum install libstdc++.so.6

我收到了这条消息:

Package libstdc++-4.4.7-16.el6.i686 already installed and latest version

这令人沮丧。为什么会这样?

2 个答案:

答案 0 :(得分:2)

你搞砸了你的存储库定义了一下。要么你实际上运行CentOS,在这种情况下你错误地定义了MongoDB的AmazonLinux包的存储库。这是更可能的情况,因为我可以用错误配置的回购重现您的问题。

但是,您有可能在AmazonLinux上运行并定义了CentOS存储库。

如果您确定自己真的在CentOS上

问题是您输入了错误的存储库。使用正确的repo时,MongoDB按预期安装并运行。但是,RPM名称不同,如下所示:

Working setup

最有可能的是,你有一个错误的回购定义,如下所示:

Wrong repository

因此,您需要做的是找到定义Amazon Linux存储库的位置并将其替换为正确的位置:

$ grep -l amazon -R /etc/yum.repos.d/*

这里的问题是可能会定义多个存储库。检查grep命令返回的文件,并删除相应的存储库定义。然后,添加correct repository definition,截至撰写本文时为

[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=0
enabled=1

如果您使用的是AmazonLinux

误解

必须说

  

AmazonLinux!= CentOS

它们很接近(均基于RHEL),但不完全相同。具体来说,某些软件包版本可能不同用于编译MongoDB for AmazonLinux的软件包版本记录在RPM中,本文档是软件包和系统之间的契约

  

我,MongoDB,承诺在具有指定版本的这些软件包的系统上正常运行。

CentOS无法履行的合约。

解决方案

只需follow the installation instructions for MongoDB on AmazonLinux

答案 1 :(得分:1)

看起来罪魁祸首是glibc你能试试吗

yum list glibc

看看版本是否符合mongo的预期。欢迎来到依赖地狱:)