[Spacewalk-list] Installed packages-contents checksums question

Michael Mraka michael.mraka at redhat.com
Thu May 10 07:27:43 UTC 2012


Jonathan Hoser wrote:
% Hi all,
% 
% this is might be only on the sidelines be related to spacewalk, but I
% thought I'd try anyhow:
% 
% I'm hunting down a bug which currently causes to instant-crash (for
% users, not root!) on boxes that I just kickstarted from Spacewalk based
% on the very latest Fedora16 x64 repos.
% 
% Thinking about some package issue with Thunderbird I completely replaced
% the relevant binaries /usr/lib64/thunderbird/* with those from a (also
% SW-kickstarted) F16 x64 system where TB works.
% To no avail.
% 
% Then I went looking at the system-libs in /lib64 and started to
% comparing, where I came across the following:
% 
% Yesterday I kickstarted 5 F16 boxes, and I would have expected the
% contents of /lib64 to be bit-identical.
% But a checksumming (md5, sha, sha256 - all tested to be sure) differed
% for *each* file in /lib64 on *each* host.
% Do you see that too? Is this to be expected?
% If so - why?

Yes, it's expected. The magic behind it is called 'prelink'. See
 http://en.wikipedia.org/wiki/Prelink 
Better way to verify whether you binaries and libraries are ok (i.e.
they are the ones installed by rpm package) is
 rpm -Vvf /lib64/libz.so
on each of the systems.

% If not - ???
% 
% If the answer is obvious, please say so, but a few hours of googling
% around haven't turned up anything useful....
% 
% The underlying repos  might have seen ~3 repo-syncs - but only on
% F16-updates repo, and surely not the base-repo (synced once a day).
% 
% Sadly enough I don't have manually - from DVD - installed boxes around
% any more to check the behaviour on those;
% 
% Example:
% [me at host ~]$ grep -r "libz.so" *_lib64.md5
% 217-111.DOMAIN.de_lib64.md5:e088a34f45b22c64ccf78f2d1b6b1f50
% /lib64/libz.so.1.2.5
% 217-168.DOMAIN.de_lib64.md5:b3e0068f7e74895c2100ed36e84e6799
% /lib64/libz.so.1.2.5
...
% Script to test is stupid easy, relies on nfs drive to collect the data.
% hosts="hosta hostb hostc"
% for i in $hosts; do echo "Host: ${i}"; ssh ${i} 'md5sum /lib64/* >
% /path/to/nfs/${HOSTNAME}_lib64.md5'; done
% 
% I'm really looking forward to answers -
% and if it's only to verify I'm not going completely nuts...
% 
% Best
% -Jonathan

Regards,

--
Michael Mráka
Satellite Engineering, Red Hat




More information about the Spacewalk-list mailing list