[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
RE: About rpm database
- From: "Chowdhury, Chandan Dutta" <chandan-dutta chowdhury hp com>
- To: "RPM Package Manager" <rpm-list redhat com>
- Subject: RE: About rpm database
- Date: Wed, 31 May 2006 09:52:35 +0530
> -----Original Message-----
> From: Jeff Johnson [mailto:n3npq jbj gmail com]
> Sent: Monday, May 29, 2006 8:32 PM
> To: RPM Package Manager
> Subject: Re: About rpm database
>
> 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
>
Hello Jeff,
Thanks a lot for all the info on database. I was trying to understand
the whole structure of rpm and did not find any document describing the
database. Anyway thanks a lot for the usefull info. I will start playing
with the --xml option to rpm
For sure if u have any other document on the database plz share it.
Thanks and Regards
Chandan
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]