1、所遇问题:linux报错需要openssl![](https://i-blog.csdnimg.cn/direct/f4bbdac81a384b5b9008e78a6f2c4560.png)
上述问题是由于没有启用EPEL仓库导致的
在 CentOS 或 RHEL 7 系统上,
yum
是用来管理软件包的工具。但是,需要注意的是,标准的 CentOS 或 RHEL 7 仓库中可能没有名为openssl11
的软件包。通常,这些系统上的 OpenSSL 包会被命名为openssl
,并且会跟随系统的更新而更新。如果你确实需要安装特定版本的 OpenSSL(例如 OpenSSL 1.1),你可能需要从源代码编译,或者从其他源(如 EPEL 仓库或其他第三方仓库)获取。
2、问题解决
下面是一些步骤,你可以尝试来安装 OpenSSL 1.1 或更高版本:
(1)启用 EPEL 仓库:
EPEL(Extra Packages for Enterprise Linux)仓库提供了许多在官方仓库中不可用的软件包。
bashsudo yum install epel-release
(2) 安装 OpenSSL:通过 EPEL 仓库,你可以尝试安装最新版本的 OpenSSL。
bashsudo yum install openssl
这将安装你系统上可用的最新 OpenSSL 版本。
(3)从源代码编译:
如果你需要特定版本的 OpenSSL,并且官方仓库中没有,你可能需要从 OpenSSL 的官方网站下载源代码,并手动编译和安装。
bash# 下载 OpenSSL 源代码
wget https://www.openssl.org/source/openssl-1.1.1.tar.gz
# 解压
tar -zxvf openssl-1.1.1.tar.gz
# 进入目录
cd openssl-1.1.1
# 配置和编译
./config
make
sudo make install
这些命令会下载 OpenSSL 1.1.1 的源代码,解压,配置,编译,并安装。
(4)使用静态构建:
如果你需要确保安装的 OpenSSL 版本不与其他系统库冲突,可以考虑使用静态链接的 OpenSSL 版本。
(5)设置软链接:
如果你已经安装了不同版本的 OpenSSL,并且想要默认使用 1.1 版本,你可以设置软链接。
bashsudo ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
这将把 /usr/local/openssl/bin/openssl
(假设这是你编译安装的 OpenSSL 1.1 的位置)链接到 /usr/bin/openssl
,使其成为默认 OpenSSL 命令。
请注意,手动编译和安装软件可能会带来一些额外的风险,包括安全问题,因此请确保你信任下载的源代码,并理解你正在进行的操作。
最后,对于 emqx-5.3.2-1.el7.x86_64
这个软件包需要的 openssl11
依赖,如果上述方法都不适用,你可能需要联系 EMQ X 的支持团队或查找是否有专门为你的系统版本和 OpenSSL 版本打包的 EMQ X 版本。
安装好openssl11既可以再次执行安装命令进行安装.