[Yum] old code questions

Gallie, Keith Keith.Gallie at amd.com
Wed Aug 1 16:09:38 UTC 2007


 
> On Wed, 2007-08-01 at 08:36 -0700, Gallie, Keith wrote:
> > KG > Thank you. We've actually discovered mutiple rpm 
> databases on our 
> > systems...
> > 
> > Seth > That's.... odd.
> > 
> > You don't know the half of it...
> > 
> > There is the venerable /var/lib/rpm
> > 
> > kgallie 539> l /var/lib/rpm
> > total 76868
> > -rw-r--r--    1 root     root       663552 Feb 14 17:03 __db.003
> > -rw-r--r--    1 root     root      1318912 Feb 14 17:03 __db.002
> > -rw-r--r--    1 root     root        16384 Feb 14 17:03 __db.001
> > -rw-r--r--    1 rpm      rpm         12288 Feb 20 06:38 Conflictname
> > -rw-r--r--    1 rpm      rpm         12288 Aug  1 03:43 Triggername
> > -rw-r--r--    1 rpm      rpm         86016 Aug  1 03:43 Sigmd5
> > -rw-r--r--    1 rpm      rpm        176128 Aug  1 03:43 Sha1header
> > -rw-r--r--    1 rpm      rpm        208896 Aug  1 03:43 
> Requireversion
> > -rw-r--r--    1 rpm      rpm        393216 Aug  1 03:43 Requirename
> > -rw-r--r--    1 rpm      rpm         12288 Aug  1 03:43 Pubkeys
> > -rw-r--r--    1 rpm      rpm        114688 Aug  1 03:43 
> Provideversion
> > -rw-r--r--    1 rpm      rpm        663552 Aug  1 03:43 Providename
> > -rw-r--r--    1 rpm      rpm      56676352 Aug  1 03:43 Packages
> > -rw-r--r--    1 rpm      rpm         45056 Aug  1 03:43 Name
> > -rw-r--r--    1 rpm      rpm         20480 Aug  1 03:43 Installtid
> > -rw-r--r--    1 rpm      rpm         32768 Aug  1 03:43 Group
> > -rw-r--r--    1 rpm      rpm      10514432 Aug  1 03:43 Filemd5s
> > -rw-r--r--    1 rpm      rpm       1708032 Aug  1 03:43 Dirnames
> > -rw-r--r--    1 rpm      rpm      10641408 Aug  1 03:43 Basenames
> 
> this is fine - the __db files are portions of the locking 
> mechanism in rpm. They can be reasonably safely removed.
> 
> 
> 
> > There is /usr/lib/rpmdb/x86_64-redhat-linux/redhat
> > 
> > -rw-r--r--    1 root     root        24576 Jul 12  2006 Triggername
> > -rw-r--r--    1 root     root        98304 Jul 12  2006 Sigmd5
> > -rw-r--r--    1 root     root       106496 Jul 12  2006 Sha1header
> > -rw-r--r--    1 root     root       196608 Jul 12  2006 
> Requireversion
> > -rw-r--r--    1 root     root       368640 Jul 12  2006 Requirename
> > -rw-r--r--    1 root     root        24576 Jul 12  2006 Pubkeys
> > -rw-r--r--    1 root     root       106496 Jul 12  2006 
> Provideversion
> > -rw-r--r--    1 root     root       327680 Jul 12  2006 Providename
> > -rw-r--r--    1 root     root        49152 Jul 12  2006 Name
> > -rw-r--r--    1 root     root        32768 Jul 12  2006 Installtid
> > -rw-r--r--    1 root     root        24576 Jul 12  2006 Group
> > -rw-r--r--    1 root     root     10510336 Jul 12  2006 Filemd5s
> > -rw-r--r--    1 root     root      1474560 Jul 12  2006 Dirnames
> > -rw-r--r--    1 root     root        24576 Jul 12  2006 Conflictname
> > -rw-r--r--    1 root     root     10534912 Jul 12  2006 Basenames
> > -rw-r--r--    1 root     root     50298880 Jul 12  2006 Packages
> > -rw-------    1 root     root       663552 Aug  1 03:43 __db.003
> > -rw-------    1 root     root      1318912 Aug  1 03:43 __db.002
> > -rw-------    1 root     root        16384 Aug  1 03:43 __db.001
> 
> this is the rpmdb-redhat rpmdb package. This is the world's 
> most useless
> item:
> 
> rpm -e rpmdb-redhat
> 
> it'll just go away
> 
> 
> > What REALLY scares me is that the __db.00* files in the redhat 
> > directory have the same dates as all the other files in 
> /var/lib/tmp. Cool, huh?
> > Somehow that just doesn't seem right...
> 
> the __db files are just an artifact of odd db4 locking. 

But why do the dates for db locking files in one directory match the
other directory?

> > I decided to PUNT on that old crap and get some new crap. I have 
> > requested rpm 4.4.2.1 be loaded up and I'll have to hack on 
> yum 3.2.2 
> > to remove the root user requirement. I know it's a little 
> late for the 
> > question but is that a good combo?
> 
> umm - how do you expect to write to the fs and the system 
> rpmdb w/o root privs?

To make yum happy

uid = os.geteuid()
lockfile = '/var/run/yum.pid'

uid=0
lockfile='/home/kgallie/YUM/yum.pid'

That IS the beauty of the whole thing. I don't want to write to the
*system* rpmdbs. I want to write to project/package specific rpm dbs.
Maybe a dozen lightweight repositories.

Example, you are working on project x, project y and z exists but you
don't care about those. You can examine project x installed stuff and
available stuff and get what you want. I'm working on project x in
Boston, someone in Sunnyvale release an update or something new that you
may or may not want. You can go get it or not and not have to involve
sys admin/IT. That is the model here. If you write it, you install it.

> > Furthermore does python 2.4+ include 2.5? I've had some 
> python lawyers 
> > around here tell me "NO", the python 2.4+ means python 
> 2.4.* and does 
> > not include 2.5.
> 
> that's correct. python 2.4 is not python 2.5

To be pedantic - does 2.4+ include 2.5.

2.5 had a nicer debugger. Speaking of which (I knoe this isn't a python
mailing list) but what do y'all use for python debugging?

Thanks 





More information about the Yum mailing list