我已将最新的 openssl 版本从源代码安装到 /usr/local/stow/openssl-1.0.2d,并使用 stow 将其放在 /usr/local 中。这很好用
# /usr/local/bin/openssl version
OpenSSL 1.0.2d 9 Jul 2015
但是,当我没有提供可执行文件的绝对路径时,我得到不同的输出:
# which openssl
/usr/local/bin/openssl
# openssl version
openssl: /usr/local/lib/libssl.so.1.0.0: no version information available (required by openssl)
openssl: /usr/local/lib/libssl.so.1.0.0: no version information available (required by openssl)
openssl: /usr/local/lib/libcrypto.so.1.0.0: no version information available (required by openssl)
openssl: /usr/local/lib/libcrypto.so.1.0.0: no version information available (required by openssl)
OpenSSL 1.0.1e 11 Feb 2013 (Library: OpenSSL 1.0.2d 9 Jul 2015)
这与我调用 时的输出完全相同/usr/bin/openssl version
,即该操作系统上的软件包版本。但是,当我设置 PATH 以直接使用 stow 目录下的二进制文件时,我得到与绝对路径相同的输出。
有人能解释这里发生了什么吗?