1

In my /var/lib/rpm, I have the following files,

$ file *
Basenames:    Berkeley DB (Btree, version 9, native byte-order)
Conflictname: Berkeley DB (Btree, version 9, native byte-order)
__db.001:     Applesoft BASIC program data
__db.002:     386 pure executable
__db.003:     386 pure executable not stripped
Dirnames:     Berkeley DB (Btree, version 9, native byte-order)
Group:        Berkeley DB (Btree, version 9, native byte-order)
Installtid:   Berkeley DB (Btree, version 9, native byte-order)
Name:         Berkeley DB (Btree, version 9, native byte-order)
Obsoletename: Berkeley DB (Btree, version 9, native byte-order)
Packages:     Berkeley DB (Hash, version 9, native byte-order)
Providename:  Berkeley DB (Btree, version 9, native byte-order)
Requirename:  Berkeley DB (Btree, version 9, native byte-order)
Sha1header:   Berkeley DB (Btree, version 9, native byte-order)
Sigmd5:       Berkeley DB (Btree, version 9, native byte-order)
Triggername:  Berkeley DB (Btree, version 9, native byte-order)

I can see that most of these files are Berkeley DB's. But, I can't find documentation on them.

  • Where are they documented?
  • What do these databases do?
  • Does RedHat/CentOS provide any utilities to go exploring them with?

I'm building tools that integrate tightly with RPMs and these seem highly relevant to my task.

5

This is low-level private data storage of the rpm tool and its librpm library. Your tools should probably use the librpm API instead of trying to bypass the library, if at all possible.

That way, you will have a chance to maintain compatibility even if the developers of librpm and/or the rpm tool decide to extend things or change the data storage format.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.