我希望 openssl-1.0.2 和 openssl-1.1.0 都可用于动态链接到不同的应用程序。我对此有点不确定,因为我希望 1.0.2 安装在名为 libssl.so.1.0.2 的文件中,但它实际上位于名为 libssl.so.1.0.0 的文件中。
这是仅安装 1.0.2 的设置:
/versions64/local/lib/libssl.so -> libssl.so.1.0.0
/versions64/local/lib/libssl.so.1.0.0
这是安装 1.1.0 后的样子:
/versions64/local/lib/libssl.so -> libssl.so.1.1
/versions64/local/lib/libssl.so.1.0.0
/versions64/local/lib/libssl.so.1.1
需要 1.0.2 的应用程序是否会知道查找 libssl.so.1.0.0 并忽略 libssl.so?
答案1
我刚刚测试过。我运行的是 Apache 2.4,它被编译为使用 OpenSSL 1.0.2。 Apache 成功启动并为 SSL 站点提供服务。
首先,我重命名了新libssl.so.1.1
库,Apache 仍然成功重新启动。然后我重命名了新libssl.so
链接,Apache仍然启动成功。最后我重命名了旧libssl.so.1.0.0
库,Apache 无法重新启动。
这证明它忽略了libssl.so
符号链接并正确使用了libssl.so.1.0.0
编译时所针对的符号链接,如预期的那样。