I've got an older system (Fedora Core 6, it's an isolated system used to do builds for older devices). I'm trying to build a matching VM, and I've noticed a difference I can't explain.
Both systems have the package glibc-2.5-3 on them, which includes the file /lib/libc-2.5.so.
The rpm -qi glibc
output matches exactly on both systems.
On both systems, rpm -Vv
says everything is fine (........ /lib/libc-2.5.so
).
The md5sum
of the file on the two systems DO NOT MATCH. (
When I do an objdump -x
of the file on the two systems, I get DIFFERENT start address values, confirming that in fact the two SO files are different.
So, why does rpm -V
tell me that the md5sum matches, when it clearly doesn't? How is it that these libraries became different?
Those libraries are likely prelinked. RPM knows about prelinking.
This post talks about it.
Where the linked email is:
The other possibility, in general, is that individual verification checks can be disable on a per-file or per-directory level in the spec file itself. So, while not true in this case, it is entirely possible that a packager could disable MD5 sum checking for files that are known to change for one reason or another.