RHEL5 的 zlib 文件大小不同

RHEL5 的 zlib 文件大小不同

你好,

在调查某个 RHEL 5 实例上的意外行为时,我发现了一个令人恼火的事实:/usr/lib/libz.so.1.2.3虽然 RPM 包报告为相同,且具有相同的构建日期,但某些 RHEL 5 实例上的文件大小却不同。我自己的 RHEL 包zlib-1.2.3-3.i386.rpm以及客户站点上的一个安装包的大小为libz.so.1.2.375284 字节:

-rwxr-xr-x 1 root root 75284 19. Jul 2006  /usr/lib/libz.so.1.2.3

在另一个具有相同软件包版本的 RHEL 5 实例上,相同的文件有 73836 字节:

-rwxr-xr-x 1 root root 73836 Jul 19  2006 /usr/lib/libz.so.1.2.3

使用以下方式提取 rpm 文件

rpm2cpio zlib-1.2.3-3.i386.rpm | cpio -idv

共享库创建时的大小为 73836 字节,因此我认为这个大小是正确的。但是,大多数其他安装中的相同文件的大小为 75284 字节。

有人知道为什么会这样吗?

问候,斯蒂芬

答案1

大概预链接

答案2

您可以使用以下命令来确定 RPM 提供的文件是否已在文件系统上修改:

rpm -qVv zlib.i386

它会产生类似这样的结果:

[msavona@admina03:~]$ rpm -qVv zlib.i386
........    /usr/lib/libz.so.1
........    /usr/lib/libz.so.1.2.3
........    /usr/share/doc/zlib-1.2.3
........  d /usr/share/doc/zlib-1.2.3/README

其中句点代表:文件大小、模式、md5 校验和、符号链接、设备、用户、组、修改时间

如果你看到类似这样的内容:

S.5.....    /usr/lib/libz.so.1.2.3

然后,RPM 提供的文件和文件系统上的文件大小和 MD5 校验和会有所不同。

如果文件系统上的文件确实不同,那么某些外部因素(RPM 管理之外的因素)就改变了此文件。

不管怎样,在 RHEL5 系统(zlib-1.2.3-3.i386 包)上,我的文件如下所示(来自 rpm -q --dump zlib.i386):

/usr/lib/libz.so.1.2.3 73836 1153298282 02864132ee9f24adcf3502be355c633b 0100755 root root 0 0 0 X

相关内容