我有一个旧系统(Fedora Core 6,它是一个用于为旧设备构建的独立系统)。我正在尝试构建一个匹配的虚拟机,但我注意到了一个我无法解释的差异。
两个系统上都有包 glibc-2.5-3,其中包括文件 /lib/libc-2.5.so。
输出在两个系统上rpm -qi glibc
完全匹配。
在这两个系统上,rpm -Vv
都说一切都很好(........ /lib/libc-2.5.so
)。
两个系统上的md5sum
文件不匹配。(
当我objdump -x
在两个系统上执行文件时,我得到不同的起始地址值,确认实际上两个 SO 文件是不同的。
那么,为什么rpm -V
告诉我 md5sum 匹配,而它显然不匹配?这些库是如何变得不同的?
这些库很可能是预先链接的。RPM 知道预链接。
这篇文章谈到了它。
链接的电子邮件在哪里:
通常,另一种可能性是可以在规范文件本身的每个文件或每个目录级别上禁用单独的验证检查。因此,虽然在这种情况下并非如此,但打包程序完全有可能禁用 MD5 总和检查已知因某种原因而更改的文件。