| | 4 | |
| | 5 | == Note about upgrading from 2010 RPM builds == |
| | 6 | Newer RPM builds are now using Berkeley DB for storing package informations, while previous builds were using SqLite 3 for this task. Since SqLite support is being phased out, RPM moved to BDB. |
| | 7 | After updating you need to convert the old database to the new format: you can check this running |
| | 8 | {{{ |
| | 9 | rpm -qa |
| | 10 | }}} |
| | 11 | at the command prompt; you will get a SIGSEV error or a message about wrong database format: |
| | 12 | |
| | 13 | {{{ |
| | 14 | [E:\]rpm -qa |
| | 15 | rpmdb: __db_meta_setup: /@unixroot/var/lib/rpm/Packages: unexpected file type or |
| | 16 | format |
| | 17 | error: cannot open Packages index using db3 - Invalid argument (22) |
| | 18 | error: cannot open Packages database in /@unixroot/var/lib/rpm |
| | 19 | rpmdb: __db_meta_setup: /@unixroot/var/lib/rpm/Packages: unexpected file type or |
| | 20 | format |
| | 21 | error: cannot open Packages database in /@unixroot/var/lib/rpm |
| | 22 | }}} |
| | 23 | |
| | 24 | To upgrade the database, use the following command sequence: |
| | 25 | {{{ |
| | 26 | rpm --define '_dbapi 4' --rebuilddb |
| | 27 | mv /@unixroot/var/lib/rpm /@unixroot/var/lib/rpm.bak |
| | 28 | mv /@unixroot/var/lib/rpm.rebuild /@unixroot/var/lib/rpm |
| | 29 | }}} |
| | 30 | You can test operation running |
| | 31 | {{{ |
| | 32 | rpm -qa |
| | 33 | }}} |
| | 34 | you will get the list of installed packages. |
| | 35 | The older SqLite databases are now saved into mv /@unixroot/var/lib/rpm.bak, if everything is ok you can delete this directory. |