On Jun 8, 2009, at 4:33 AM, Thomas Jarosch wrote:
> Hello,
>
> I'm currently looking into a way to do an upgrade from rpm 3.0.6.
>
> Do I have to go the rpm 4.0.4 route first? From what I can see in the
> rpm releases archive, version 4.4.9 still includes the convertdb1
> tool.
>
rpm-4.0.4 was the last version of rpm that supported "db1" format.
SuSE (the last vendor that used "db1" format) wanted/needed to
convert "db1" format, so the implementation was resurrected
and retro-fitted into a convertdb1 tool for SuSE (convertdb1
was written by Michael Scroeder).
> What would be the optimal way to upgrade the database format?
>
> The update would be done without user interaction on around 2.000
> boxes.
> We run "rpm --rebuilddb" during every update package we push out,
> so the database should be in a sane state.
>
The basic steps aren't hard. What will be hard is guaranteeing fully
automated seamless transparent upgrades. That takes practice
and an understanding of the failure points in your upgrade process.
E.g. running out of disk space.
These are the steps:
0) doing --rebuilddb to start in a "known" state.
1) converting /var/lib/rpm/Packages from db1 -> db3 format.
2) doing --rebuilddb to rebuild the indices.
3) upgrading rpm itself and whatever uses rpmlibs (like net-snmp).
Usually steps 1) and 2) were done together using --rebuilddb in
rpm-4.0.4.
But one could install a version of rpm w/o "db1" support
and then convert /var/lib/rpm/Packages using convertdb1,
finally proceeding to rpm --rebuilddb to regenerate the indices.
Note that if you fail to achieve the conversion with convertdb1,
you will end-up with a version of rpm installed that cannot
read the "db1" format database.
As long as you have the original copy of /var/lib/rpm/Packages,
one can usually return to the original without difficulty.
Have you tried a conversion with --rebuilddb in rpm-4.0.4 yet?
73 de Jeff
Received on Mon Jun 8 15:21:18 2009