[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: About rpm database
- From: "Jeff Johnson" <n3npq jbj gmail com>
- To: "RPM Package Manager" <rpm-list redhat com>
- Subject: Re: About rpm database
- Date: Mon, 29 May 2006 11:01:33 -0400
On 5/29/06, Chowdhury, Chandan Dutta <chandan-dutta chowdhury hp com> wrote:
Hello All,
First of all, an rpmdb is a hierarchical database using Berkeley DB.
I have 2 questions for you
1. Can any one point me to a document describing the structure of RPM
database?
This what all tables are present in the RPM database, what all columns
in them.
First of all, an rpmdb is a hierarchical database using Berkeley DB.
So no SQL, no rows, no columns, no tables.
Headers are stored as blobs in /var/lib/rpm/Packages, the key is a monotonically
increasing integer. The current largest values as retrieved and
incremented in a RMW
operation using key = 0 whose value is the largest key in the rest of
Packages. The
key for the header blob in Packages is known as a "header instance".
All the other indices are inverted lists of certain tags stored within
a header.
That means that the value from the tag is used as a key to retrieve a
varibale length array of (header,element) indices. In most cases, the
element index is 0.
One can replace a Berkeley DB with sqlite3 for an rpmdb, but the
rpm-4.4.2 that most vendors are choosing to distribute has known
problems with the implementation in 4.4.2.
2. Is there a CLI for doing SQL queries on the RPM db, if so plz provide
me the link where I can find them.
No SQL, the CLI for accessing an rpmdb is the --query mode of rpm.
Hint: Export all the data from an rpmdb for importing into whatever
SQL db you want
by doing
rpm -qa --xml
or
rpm -qa --qf '[%{*:xml}\n]'
73 de Jeff
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]