linux - 为什么这些共享库不同?

标签 linux centos shared-libraries

<分区>

我正在比较我认为应该相同的两个系统上的文件,并注意到/lib64/libcrypto.so.0.9.8e 是不同的。这些是 CentOS 5.x 系统。许多其他库也不同,这让我感到惊讶。对于此文件,例如,rpm 版本相同,并且 rpm -qV 显示文件未修改。

系统 1:

# ls -la /lib64/libcrypto.so.0.9.8e
-rwxr-xr-x 1 root root 1364912 May 29 17:28 /lib64/libcrypto.so.0.9.8e*
# rpm -qf /lib64/libcrypto.so.0.9.8e
openssl-0.9.8e-22.el5_8.4
# rpm -qV openssl-0.9.8e-22.el5_8.4 | less
... output does not list this file

系统 2:

# ls -la /lib64/libcrypto.so.0.9.8e
-rwxr-xr-x 1 root root 1367232 May 29 17:28 /lib64/libcrypto.so.0.9.8e*
# rpm -qf lib64/libcrypto.so.0.9.8e
openssl-0.9.8e-22.el5_8.4
# rpm -qV openssl-0.9.8e-22.el5_8.4 | less
... output does not list this file

我真的不明白这个。这些文件在安装时是否重新链接、重建、剥离或其他?寻找有关下一步检查内容的任何解释或建议。谢谢!


编辑:谢谢@IgnacioVazquez-Abrams。对于发现此问题的任何其他人,这是一个 cron 作业:/etc/cron.daily/prelink

最佳答案

它们是 prelinked ,这加快了加载速度。 rpmdb 使用有关现有文件的新信息进行更新。

关于linux - 为什么这些共享库不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12733818/

相关文章:

c++ - 使用 g++ 创建共享库和静态库(在 Windows 下)

linux - 如何将扩展编译成sqlite?

python - 将 conda HDF4 链接到 conda GDAL(Anaconda Python)

linux - 如何将版本号作为变量传递给 rpmbuilder?

php - CentOS ./configure -- 如何使用备用 PHP 版本

linker - 静态链接不适用于节点模块

linux - 用于从文件中检查 IP 主机名的脚本

python.net import clr 抛出无效指针错误

c++ - 从 C++ 内部获取损坏的符号名称

ios - 链接共享库时选项 -fembed-bitcode 消失