[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Broken Database



On Tue, Jul 24, 2001 at 01:26:51PM +1000, Stuart wrote:
> Hi All,
> 
> I am having major issues with my rpm database. I'll Start with a few 
> details of the machine.
> 
> Redhat Linux 6.2 i386
> Nearly all Errata is Installed including rpm-4.0.2-6x. I had been 
> putting the kernel upgrade off untill about a week ago.
> Kernel 2.2.19-6.2.7
> 
> Since the update of rpm itself, everything was fine. The first rpm that 
> we attempted to install since the kernel upgrade failed with the 
> following message:
> 
> [root@octo <mailto:root@octo> updates]# rpm -i fetchmail-5.5.0-2.6.i386.rpm
> error: cannot open Depends index using db1 - Invalid argument (22)
> Segmentation fault.
> 

The Depends.idx is not directly the problem, as that's a temporaray database
index used to speed up dependency checking. Nuke the file left over from
the segfaulting install.

> I first tried to reboot the machine with the original kernel but that 
> didnt help. After searching around a bit for a solution to this, I found 
> that the rpm update to version 4 used a new database format and all 
> advice pointed to a "rpm --rebuilddb". I did this and there was another 
> segmentation fault. I had a look at /var/lib/rpm and the Depends.idx 
> file had a 0 file size. I presume this is the problem.
> 

rpm often segfaults when bad data is found in a header for any reason. Try
rpm-4.0.3-0.57 or later from Raw hide or
	ftp://ftp.rpm.org
Most (all I've personally seen) of the segfaults with bad data are
fixed there.

> I then looked for any reference to the database in the rpm man page and 
> came across "rpm --initdb". I first backed up my old database in 
> /var/lib/rpm and ran this (probably a stupid move). I presumed it would 
> allow me to start from scratch. Now whenever I try and install an rpm, I 
> get a list of dependencies as long as your arm.
> 
> What I am basically asking is if there is a way to rebuild the database 
> with my old dependencies? Or if I can still do anything with the old 
> backed up rpmdb ?  Any surgery that I can perform on it ? I hope there 
> is enough info in this for someone to help steer me in the right direction.

The --initdb command created an empty database. Use your original database,
and do a rpm --rebuilddb with rpm-4.0.3-0.57 or later.

73 de Jeff

-- 
Jeff Johnson	ARS N3NPQ
jbj@jbj.org	(jbj@redhat.com)
Chapel Hill, NC





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] []