Please help: how to relocate installed files paths into an RPM database

Greg_Swift at Greg_Swift at
Fri Aug 7 15:30:37 UTC 2009

> sorry for the delay of this feedback.
> Please excuse me but even reading many pages from the link you
> suggested, things are still not clear to me,
> moreover referred files seem to be related to an older version of RPM.
> Anyway, if I need to update the RPM database telling it that all the
> *already installed* packages should be
> found now on path B instead of the original one A, I guess I have to
> pass this information to the command
> I have to use, of course. AFAIK, I can do such a thing only during
> installation of a new package, with the
> relocation option, which is not my case. Even if I rebuild the
> database, maybe deleting some existing files,
> how can I pass this kind of info?

If I remember correctly you installed the rpm in this manner:

rpm -ivh <package>.rpm --relocate /original/path=/your/path

The only way I can think to change the entries in your rpm database is to
remove the package from the database, and re-install it, but just to the
database.  like this:

rpm --justdb -ev <package>
rpm --justdb -ivh <package>.rpm --relocate /original/path=/your/new/path

Whether or not that will actually work as you expect it to, I am unsure.
Just make sure to backup your rpm database beforehand.

Unless someone wise than I speaks up, I believe that is the only way to
accomplish what you want without figuring out how to manually edit the rpm
database without corrupting it.  And I don't know that anyone would
recommend that.


More information about the Rpm-list mailing list