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

Re: apt problems



on Fri, Dec 29, 2000 at 02:41:24PM -0500, Michelle Murrain (mpm@murrain.net) wrote:
> The result of a dumb mistake:
> 
> I wanted to upgrade a particular package from woody, and in the middle, it 
> stopped because it didn't have a newer copy of libc6. I decided at that point 
> that I would forgo the upgrade. However, somehow, part of it got installed 
> somehow, and now I can't install anything using apt. I need to figure out how 
> to get out of this hole.
> 
> Problem: I now have base-passwd installed at a version that requires libc6 
> 2.1.94, although I only have 2.1.3-13 installed. Whenever I try to apt-get 
> anything, I get:
> 
> Sorry, but the following packages have unmet dependencies:
>   base-passwd: Depends: libc6 (>= 2.1.94) but 2.1.3-13 is to be installed
>   mailman: Depends: logrotate but it is not going to be installed   
> 
> How do I downgrade my base-passwd, and clear out this mailman/logrotate issue 
> (I ended up installing a newer version of mailman from tarball, and didn't 
> install logrotate at all)

Logrotate is a useful utility.  I'd recommend it strongly.

> DON'T tell me to apt-get -f install, because I get a nasty, nasty message 
> suggesting that I'll lose big chunks of my system install, including bash!

First:  post the *exact text* of the error message.  It's more useful to
us, and it makes searching for similar problmes ***MUCH*** easier.

This is a periodic problem, and while I've encountered it in the past, I
can't say exactly how I've resolved it.  I'd like to trace your problem
here and see if we can't come up with a fix-it howto for the issue.

As a first step, try running:

    $ dpkg --get-selections > package-list.out

...to list your package selections.  Save this to a file.  Check to see
what the listed status of the packages listed by apt-get for removal is.
We'll return to this later.

Sounds like you may have corrupted your status file.  Look under
/var/lib/dpkg for two files names 'status' and 'status-old'.  First,
copy both someplace safe.  Try substituting 'status-old' for 'status',
and see what apt wants to replace.

You might also try grabbing the debs for base-passwd, mailman, libc6,
and logrotate, and installing these via dpkg rather than apt:

   $ dpkg -i <package-list>

If neither of the above two suggestions work, try taking the
--get-selections list generated above and marking 'install' the packages
you *don't* want removed, then send this to the dpkg system with:

   $ cp package-list.out package-list.in
   $ $EDITOR package-list.in
   $ dpkg --set-selections < package-list.in

Good luck & cheers.

-- 
Karsten M. Self <kmself@ix.netcom.com>    http://kmself.home.netcom.com/
 Evangelist, Zelerate, Inc.                      http://www.zelerate.org
  What part of "Gestalt" don't you understand?      There is no K5 cabal
   http://gestalt-system.sourceforge.net/        http://www.kuro5hin.org

Attachment: pgp7tYjj0l5iV.pgp
Description: PGP signature


Reply to: