Red Hat Bugzilla – Bug 2649
Kickstart post-install locks rpm database
Last modified: 2008-05-01 11:37:50 EDT
When doing a kickstart install in 6.0, if you have other
rpm's to install during the post-install section of the
kickstart, rpm fails stating "Cannot get exclusive lock".
I was unable to replicate this problem on a test lab machine.
After further testing, the problem only occurs if you do not install
any part of the X-Windows system. In the %packages section of the
kickstart, try this:
In the %post section, have it mount an nfs point, and install an RPM
from there. Something like the following:
echo "Kickstart-installed Red Hat Linux `/bin/date`" > /etc/motd
/bin/mount 22.214.171.124:/home/archive /mnt/archive
rpm -Uvh ucspi-tcp-0.84-1.i386.rpm
Will do nicely. The error will occur because install2 will try and
open the rpm database so that Xconfigurator can install the X server
RPMS (I assume), but when it cannot run /usr/X11R6/bin/Xconfigurator
it dies, and fails to close the RPM database. It then runs the
kickstart post install as normal, and leaves the RPM database locked.
You can double check that this is the cause by changing the %packages
section to look like this:
@ X Window System
Leaving the %post section the same. All will be well with the world.
Problem exists between keyboard and user... try adding skipx yes
instead of a fake xconfig line (5.2) and life will be happy again.
Sorry, I'm a schmoe. (I can admit it, though. That counts for
something, right? Right?)
the line skipx is different for 6.0 than 5.2. Nevertheless when
Xconfigurator fails it should not hold the rpm database open. I am
assigning this to a developer for further review.
*** Bug 3021 has been marked as a duplicate of this bug. ***
In the file misc/src/install/doit.c the function will return
without closing the RPM database if Xconfigurator is not
This is a problem as the installation process continues, but
it is impossible to install RPMS in a kickstart post script.
WORKAROUND: make sure that Xconfigurator is installed
FIX: close RPM database before returning from setupXfree()
this will be fixed in the next installer release.