下载了tgz版本的MongoDB 4.0安装文件,在MDB官网找到了教程:
安装完毕后,执行失败,提示:
mongod: error while loading shared libaries: libcrypto.so.10: cannot open shared object file: No such file or directory
在网上搜索了各种资料后,都是建立完软连接就可以了,下图是我建立好相关文件软连接的效果:
libcrypto.so.10、libssl.so.10分别指向最新的libcrypto.so.1.1、libssl.so.1.1,可是,mongod命令仍然执行失败(mongo --version、ldd mongo):
上面是将软连接建立在*.1.1版本上面,刚刚尝试了删除后重新建立在*.1.0.0上面,结果如下:
少了第一条OPENSSL_1.0.2的信息。
后来执行,sudo ldconfig、sudo ldconfig -n /usr/lib/x86_64-linux-gnu/,mongod仍然执行失败!
请问,这要怎么解决呢?软连接 不能成为 动态链接库缓存中?
按照园友【嗷嗷】的意见,拷贝了*.so.1.0.0为*.so.10,还是不行,而且这样做之后,sudo ldconfig执行时发生错误。
试试下面的安装方法:
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
$ 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
$ sudo apt-get update
$ sudo apt-get install -y openssl libcurl3 mongodb-org
$ sudo apt-get install mongodb
多谢@dudu !厉害啊!上面的命令,我执行到倒数第二个时就可以运行mongod --version了!
最后一个命令太耗时了,下载很慢,4KB的速度,谢谢!
和官网的Using .deb Packages (Recommended) 对比了一下,命令差不多。
因为自己之前下载的是tgz的,所以就没有考虑了。
其实,我的目的就是安装MongoDB,两个都可以,这样来看,还是第一个靠谱啊!
再次感谢dudu!Linux高手!
P.S.不过,今天下午寻找问题解决方案的过程中,一下子接触了好多Linux的东东,收获颇多、颇浅,还需加固啊!
写博文才发现——自己下载的MongoDB安装版是amazon2的:
mongodb-linux-x86_64-amazon2-4.0.0.tgz~~难怪安装失败!
官网的Ubuntu的tgz文件可以下载16.04的,18.04的还没出来(一个月内可以?):
mongodb-linux-x86_64-ubuntu1604-4.0.0.tgz
抱歉了各位园友,浪费了你们这么多精时!
抱歉啊自己,浪费了这么多精时!
这个mongodb-linux-x86_64-ubuntu1604-4.0.0.tgz可以试着安装下。