[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Manually updating dpkg database



On Tue, Feb 25, 2003 at 07:57:20PM -0500, Errol Neal wrote:
> Hello,
> 
> I have been a debian user for a number of years now. I believe that debian 
> is probably the most robust linux distribution available today. I am new to 
> the user list, so please forgive me if my question has been brought up and 
> answered before.
> 
> Okay, I am faced with a situation that I am sure many of other debian users 
> have been faced with before. Quite often, I instlal software from source 
> tarballs. This of course does not update the debian package database, so 
> say for instance, like today, i installed openssl-0.9.6i, well the dpkg 
> database shows the version 0.9.6c, and of course there is a debian update 
> for the recent bug discovered in openssl version below 0.9.6i and 0.9.7a. 

Ahem... When you install your own tarballs, do you actually *overwrite*
things in /usr/bin/* and/or /usr/lib/* !?  That's not a good idea as
dpkg's idea of what's installed will no longer match reality (there be
dragons here...).  [It's not clear from what you write]

Typically non-packaged stuff should be installed under /usr/local (or
/opt), since dpkg won't touch anything under there. IIRC that's the
supported way of doing things.

If you install your own tarball, you can then use the "equivs" package
(equivs-build to be specific) to create a dummy package to let dpkg that
package XX is installed.  The dummy package will not "own" the files in
/usr/local; it's merely a marker.  It's then up to you to de-install the
dummy package if you remove the corresponding files from /usr/local.

E.g. if you use equivs to build a dummy openssl package, you can use it
to replace the debian-package openssl package.

> Well, an apt-get would of course overwrite my newly installed openssl 
> package, so I need to know how do I manually update the database when I 
> install a new package? Is this the place to ask this question? 

Of course, apt may want to replace your openssl package if it finds that
there's a newer version "out there".  And it sounds like you want to
avoid that.  I know of two ways to counter that:
  a: use apt_preferences(5) to "pin" the package to your preferred
     version number.  
  b: Set the version number in your own package sufficiently high
of which I find a: is the neatest...

> I would appreciate any help. Also, I have looked into building debian
> packages, but that is a little more than I want to do right now.

Building debian packages is easy - especially dummy equivs-generated
ones.  Just spend a couple of minutes reading the equivs docs first and
try: you'll be positively surprised!

HTH
-- 
Karl E. Jørgensen
karl@jorgensen.com   http://karl.jorgensen.com   JabberID: linux_geek@jabber.org
==== Today's fortune:
The doctrine of human equality reposes on this: that there is no man
really clever who has not found that he is stupid.
		-- Gilbert K. Chesterson

Attachment: pgp6BQ8HUY5CF.pgp
Description: PGP signature


Reply to: