Does the on-disk image of an executable ever change?

Ben Scott dragonhawk at gmail.com
Thu Nov 5 12:19:09 EST 2009


On Thu, Nov 5, 2009 at 10:38 AM, Darrell Michaud <dmichaud at amergin.org> wrote:
> I found evidence that the a large RPM
> update transaction left the RPM database / filesystem out of sync. It
> happened on Centos 5.x when a large update hung unrecoverably during the
> final step where the kernel post-install scripts execute. This appeared to
> affect packages in the larger transaction.

  Yah.  RPM has a number of features to protect against corruption due
to interruption, but it appears YUM either doesn't use them or
actively defeats them.

  Those interested may want to read this article about RPM transactions:

http://www.linuxjournal.com/article/7034

  Basically, RPM has the capability of putting a large operation (like
upgrading a bunch of packages) set into a transaction, with a unique
ID.  You can then rollback to the prior state with a single command.
RPM will even repackage the binary RPMs for you, if you don't already
have them.

  In contrast, YUM appears to go the other way.  For example, I've
discovered the hard way that if you send yum a SIGINT, it just stops
dead in its tracks.  It won't even finish the current package, let
alone what YUM calls a "transaction".

  I wish I had the time and knowledge needed to work on improving YUM.

-- Ben


More information about the gnhlug-discuss mailing list