[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