/var/lib/rpm 的内容是什么;他们在哪里记录?

Eva*_*oll 1 rpm centos

在我的/var/lib/rpm,我有以下文件,

$ 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)
Run Code Online (Sandbox Code Playgroud)

我可以看到大多数这些文件都是 Berkeley DB 的。但是,我找不到有关它们的文档。

  • 它们在哪里记录?
  • 这些数据库有什么作用?
  • RedHat/CentOS 是否提供任何实用程序来探索它们?

我正在构建与 RPM 紧密集成的工具,这些工具似乎与我的任务高度相关。

tel*_*coM 5

这是rpm工具及其librpm库的低级私有数据存储。如果可能的话,您的工具可能应该使用librpm API而不是试图绕过库。

这样,即使开发人员librpm和/或rpm工具决定扩展事物或更改数据存储格式,您也有机会保持兼容性。