mongod:加载共享库时出错:libssl.so.10 libcrypto.so.10

Had*_*adi 6 openssl mongodb libssl libcrypto

问题

我下载了mongodb 3.0.7tar文件.然后我将bin目录添加到我的路径:

export PATH=<mongodb-install-directory>/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

然后当我运行mongodb服务器时:

mongod --fork --logpath "/home/me/mongolog" --dbpath "/home/me/data"
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

mongod: error while loading shared libraries: libssl.so.10: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我做了什么

我试过这个解决方案.简而言之,我更新了我的openssl:

sudo apt-get update
sudo apt-get install libssl1.0.0 libssl-dev
Run Code Online (Sandbox Code Playgroud)

然后:

cd /lib/x86_64-linux-gnu
sudo ln -s libssl.so.1.0.0 libssl.so.10
sudo ln -s libcrypto.so.1.0.0 libcrypto.so.10
Run Code Online (Sandbox Code Playgroud)

但它说它无法找到libssl.so.10libcrypto.so.10.我不知道该怎么办!

use*_*479 6

sudo apt-get purge mongodb-org*
Run Code Online (Sandbox Code Playgroud)

这里开始吧.

如果你不想要3.2,不要

sudo apt-get install -y mongodb-org
Run Code Online (Sandbox Code Playgroud)

在下一步中指定所有单个组件的版本.

或者您可以从mongodb复制正确的版本链接.

你需要

cd /Downloads 
wget wget https://fastdl.mongodb.org/linux/mongodb-correct-version.tgz
tar -zxvf mongodb-correct-version.tgz 
Run Code Online (Sandbox Code Playgroud)

您应该看到所有可执行文件.确保/ usr/local/bin位于PATH中

echo $PATH
Run Code Online (Sandbox Code Playgroud)

为mongod服务器创建一个符号链接并检查版本.

sudo ln -s ~/Downloads/mongodb-correct-version/bin/mongod /usr/local/sbin/bin/mongod
mongod --version
Run Code Online (Sandbox Code Playgroud)

现在为shell创建一个符号链接并检查版本.

sudo ln -s ~/Downloads/mongodb-correct-version/bin/mongo /usr/local/bin/mongo
mongo --version
Run Code Online (Sandbox Code Playgroud)

为服务器创建目录路径.

mkdir ~/data
mkdir ~/data/db 
Run Code Online (Sandbox Code Playgroud)

启动服务器,让它从一个独立的终端运行而不是shell.

mongod --dbpath ~/data/db/
Run Code Online (Sandbox Code Playgroud)

它应该在端口27017上侦听.在新的终端中,启动mongo.

mongo
Run Code Online (Sandbox Code Playgroud)


Dzi*_*mid 6

似乎mongo期待libssl文件/usr/lib/:

  sudo cp /lib/x86_64-linux-gnu/libssl.so.1.0.0 /usr/lib/libssl.so.10
  sudo cp /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /usr/lib/libcrypto.so.10
Run Code Online (Sandbox Code Playgroud)