yum db lossage

Paul Howarth paul at city-fan.org
Tue Jul 11 07:23:21 UTC 2006


On Mon, 2006-07-10 at 17:42 -0500, Mikkel L. Ellertson wrote:
> wld wrote:
> 
> > I a afraid that after
> >    rpm --initdb
> > his rpm database is empty... From man rpm
> > 
> >   REBUILD DATABASE OPTIONS
> >       The general form of an rpm rebuild database command is
> > 
> >       rpm {--initdb|--rebuilddb} [-v] [--dbpath DIRECTORY] [--root
> > DIRECTORY]
> > 
> >       Use --initdb to create a new database, use --rebuilddb to 
> > rebuild  the
> >       database indices from the installed package headers.
> > 
> > The only way to get a list of installed packages I know of is
> > to look into the file /var/log/rpmpkgs , generated every night by cron.
> > Then OP could try restore his rpm database by hand, using --justdb
> > option of rpm command.
> > 
> The only problem with that is that RPM needs the .rpm file to do it.
> If it were not for that, and the dependency problems, you could do
> something like:
> 
> for i in $(cat /var/log/rpmpkgs) ; do rpm -ivh --justdb $i ; done
> 
> You could probably get most of them restored by changing to the
> Fedora/RPMS directory on the DVD image, and running:
> 
> for i in $(cat /var/log/rpmpkgs) ; do rpm -ivh --justdb --nodeps $i
> ; done
> 
> You might have to use the --force option instead of the --nodeps
> option, but I would try it with --nodeps first. You could then use
> yum to re-install the ones that are updates, or just download them
> and use rpm to update the database from the files.

And don't forget to run:

# package-cleanup --problems

when you think you're done. This tool is in the yum-utils package. It'll
check your RPM database for broken dependencies.

Paul.




More information about the fedora-list mailing list