Questions for running 'rpm' -e in %pre

WangXinpeng wangxp at
Thu Apr 29 07:23:28 UTC 2010

  I have a question what about running 'rpm' command in the script of %pre.
  Now, I need create a RPM package to upgrade the old version of our product to newest version. At first, we should backup old configuration and uninstall old version of our product. so, I write the script in %pre to run 'rpm -e XXX'.
  It could be run on Redhat 3 but not Redhat 5. And follow message had been displayed in command line.
  "warning: waiting for transaction lock on /var/lib/rpm/__db.000"
  And follow messages had been shown after pressed Ctrl-C.
  "error: can't create transaction lock on /var/lib/rpm/__db.000"

  I searched it on the web. Most answers are rpm only could be run one instance in the same time. But, why the rpm of redhat 3 (R4.2.3) could do it, but not on Redhat 5(R4.4.2.3). By the way, I tested it on Fedora 12 with RPM 4.7.1. It  also could not be done..
  It could not be done from which RPM version? And why it changed? How to do it if I want to uninstall the old version of our product before install the new version of our product?

  I am sorry for my bad english.
  Thanks a lot!

More information about the Rpm-list mailing list