RPM limitations at kickstart time?
Hal Wine
hal at reactivity.com
Fri Jan 14 17:09:25 UTC 2005
Oden, James wrote, around 01/13/2005 07:34 PM:
>>[mailto:kickstart-list-bounces at redhat.com] On Behalf Of Hal Wine
>>Subject: RPM limitations at kickstart time?
>>
>>with rpm 4.2.3-10 (RHEL 3 ES update 3), I'm seeing rpm database
>>corruption when having an RPM install another RPM in a %post scriptlet
>>during kickstart.
>
> Could you characterize these corruptions? Do you just have stale locks,
> or is the
> data itself corrupted, and in what way if you can tell?
It's corrupted so bad that packages fail to install :(
The log file /root/install.log showed numerous error messages. Starting
with the package _after_ the one that sub-installs another RPM, I see
repeated sequences like (92 lines total):
Installing libcap-1.10-15.1.i386.
error: db4 error(-30989) from dbcursor->c_put: DB_PAGE_NOTFOUND:
Requested page not found
error: db4 error(-30982) from db->sync: DB_RUNRECOVERY: Fatal error, run
database recovery
error: db4 error(-30982) from dbcursor->c_close: DB_RUNRECOVERY: Fatal
error, run database recovery
error: db4 error(-30982) from db->sync: DB_RUNRECOVERY: Fatal error, run
database recovery
error: db4 error(-30982) from db->cursor: DB_RUNRECOVERY: Fatal error,
run database recovery
error: db4 error(-30982) from db->get: DB_RUNRECOVERY: Fatal error, run
database recovery
error: error(-30982) getting "libcap" records from Name index
error: db4 error(-30982) from db->sync: DB_RUNRECOVERY: Fatal error, run
database recovery
After the install completes, and the box reboots,
/usr/lib/rpm/rpmdb_verify doesn't report any problems with any db file
in /var/lib/rpm
There are 3 rpms scheduled to be installed after the one that installs
the subpackge. The first two (libpcap, ntp) fail, the final one (comps)
succeeds.
Installations without the wrapper/subinstall package work fine (and have
for eons).
In this case, the package to be subinstalled is a stock RHEL one:
sendmail-cf. It is installed just find, as is the "wrapper" rpm. Both
pass 'rpm -V' after installation.
> Permitted and widely used such that it could claimed to be rock solid
> are two different things, but then how is going to get used if there
> aren't guinea pigs (-;
Yah, I've got a *very* ugly workaround that I had been using from the AS
2.1 days (which had too old of a version of RPM to consider this
approach). The good news it that the feature works outside of anaconda,
so my ugly workaround is now more robust :/
Thanks,
--Hal
More information about the Kickstart-list
mailing list