You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Fedora 34上安装OpenSSL 1.0并与默认1.1版本共存

可行性说明

Fedora 34 可以同时安装 OpenSSL 1.0 和 1.1 两个版本,二者的动态库文件名不同,不会互相覆盖。只要将 1.0 版本安装到独立的非系统默认路径,仅让你的 C++ 项目链接该版本,完全不会影响系统依赖 OpenSSL 1.1 的内置软件正常运行。

具体安装操作步骤

首先切换到 root 用户,或在所有命令前加 sudo 执行:

  • 第一步:安装编译依赖
    运行命令:
    dnf install gcc make perl zlib-devel -y
    
  • 第二步:获取 OpenSSL 1.0 源码
    下载 OpenSSL 1.0.2 稳定版源码压缩包,解压到本地任意临时目录。
  • 第三步:编译安装到独立路径
    不要将安装前缀设置为/usr或者/usr/local,否则会覆盖系统默认的OpenSSL版本,导致系统组件异常
    进入解压后的源码目录,依次执行以下命令:
    ./config --prefix=/opt/openssl-1.0.2 --openssldir=/opt/openssl-1.0.2 shared zlib
    make -j$(nproc)
    make install
    
  • 第四步:验证安装结果
    运行命令:
    /opt/openssl-1.0.2/bin/openssl version
    
    输出内容包含 1.0.2 版本号即代表安装成功。
项目适配配置

按照你使用的构建工具,配置项目链接自定义路径下的 OpenSSL 1.0:

  • CMake 项目:在 CMakeLists.txt 的 find_package(OpenSSL) 代码前添加以下配置:
    set(OPENSSL_ROOT_DIR "/opt/openssl-1.0.2")
    set(OPENSSL_LIBRARIES "/opt/openssl-1.0.2/lib")
    
    清空原有构建目录重新生成编译即可。
  • 直接使用 g++ 编译:编译参数添加 -I/opt/openssl-1.0.2/include,链接参数添加 -L/opt/openssl-1.0.2/lib -lssl -lcrypto
  • 运行时如果提示找不到动态库:
    临时生效可以在运行命令前加环境变量:LD_LIBRARY_PATH=/opt/openssl-1.0.2/lib ./你的可执行文件名
    永久生效可以新建配置文件 /etc/ld.so.conf.d/openssl-1.0.2.conf,写入内容 /opt/openssl-1.0.2/lib,保存后执行 ldconfig 命令刷新缓存即可。
注意事项
  • 不要将 /opt/openssl-1.0.2/bin 加入系统 PATH 环境变量的最前面,避免系统默认调用 openssl 命令时优先使用 1.0 版本,导致依赖 1.1 的系统软件出错。
  • OpenSSL 1.0 系列已经停止官方维护,存在已知安全漏洞,仅建议临时用于兼容旧项目,尽快完成项目对 OpenSSL 1.1 及更高版本的适配。

内容的提问来源于stack exchange,提问作者TSG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 01:15:07