[Server-devel] recover from broken yum transaction

Alexander Dupuy alex.dupuy at mac.com
Thu Sep 11 16:05:52 EDT 2008


Ahmed Kamal writes:
> Trying rpm -Va, I am getting lots of these lines
>
> S.?.....    /usr/bin/kblankscrn.kss
> S.?.....    /usr/bin/kcminit
> S.?.....    /usr/bin/kcminit_startup
>
> Basically, the size has changed, and the md5 check cannot be performed ?! I
> understand this is due to "prelink", but that sux ! This effectively kills
> the rpm -V functionality. Is it not possible to prelink binaries on the
> server before wrapping them into rpms ? Any suggested solution around this ?
If you are getting these errors, it is not due to prelinking, but due to 
files having been updated but not properly registered with RPM.  The 
suggestion to reinstall  kdebase-workspace (and other packages which are 
reporting size changes) is a probable solution.

rpm -V uses prelink --verify to check binaries and shared libraries that 
might be affected by prelinking:

It is explained in the manpage for prelink

-y --verify
Verifies a prelinked binary or library. This option can be used only on 
a single binary or library. It first applies an --undo operation on the 
file, then prelinks just that file again and compares this with the 
original file. If both are identical, it prints the file after --undo 
operation on standard output and exits with zero status. Otherwise it 
exits with error status. Thus if --verify operation returns zero exit 
status and its standard output is equal to the content of the binary or 
library before prelinking, you can be sure that nobody modified the 
binaries or libraries after prelinking. Similarly with message digests 
and checksums (unless you trigger the improbable case of modified file 
and original file having the same digest or checksum).

@alex

-- 
mailto:alex.dupuy at mac.com



More information about the Server-devel mailing list