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

Re: Aptitude - Removing Unwanted Holds

On Mon, Dec 04, 2006 at 11:57:54 -0800, Arlie Stephens wrote:
> For some bizarre reason, aptitude seems extremely fond of holding
> packages at prior versions. This has resulted in at least one csae of
> my system being afflicted by a known - and fixed - bug.
> I use aptitude in its curses based gui mode. I typically do 'u',
> to find out what new versions are available, possibly followed by 
> selecting some specific new application I've decided I want - or
> rejecting one of more apps I got by default. Then I do 'g', and get a
> huge list of packages which 'could be upgraded but are being held
> back'. I go through those selecting +, and hit g again. 
> This kind-of, sort-of works. It is far too manual for my tastes. 
> Moreover, it seems as if it doesn't even mention some upgradeable
> packages - unless kdelibs has advanced by 2 versions since Friday, 
> fixing a bug that was discussed (as already fixed) on this list on
> Saturday. kdelibs was upgradeable but held today - and I know I'd 
> looked specifically at it on Friday, given the problems Iw as trying
> to fix.
> I've seen a bunch of mention of aptitude commands that tell it to
> forget various things, but I'm not finding a way to tell it to forget
> all "holds". Is there any simple way to do this?
> Second question - has anyone got any idea why it keeps hallucinating
> holds I never requested? I suspect there's something bizarre about the
> (company internal) package repository I'm using, and/or perhaps some 
> package I haven't noticed yet is doing something I don't want (perhaps
> using other packaging tools), but I may be completely wrong. 

I think there is a slight misunderstanding here: Aptitude also lists
packages as "held back" if they cannot be upgraded without further
changes to the system, e.g. installing new dependencies, removing
conflicting packages, etc. (It is normal for this to happen in Testing
and Unstable.)

The procedure you describe above is (roughly) a manual way to implement
the command "aptitude upgrade" in curses GUI. What you seem to want,
however, is "aptitude dist-upgrade". Start aptitude in interactive mode,
press 'U' (the SHIFT key makes the difference) followed by 'g' twice and
you should see some serious action. 'U' will tell aptitude that you want
to upgrade as many packages as possible.  There can still be stuck
packages, for example if the newer versions of some dependencies are
still missing in the repository. Aptitude will propose different ways to
address such problems. You can scroll through aptitude's proposals with
',' and '.' and accept one with '!'. In most cases the first proposal
will be to keep a few packages at their presently installed versions and
you should just accept that one. If you upgrade again in a few days you
will usually find that this kind of problem has solved itself (because
the missing pieces have meanwhile come to your mirror).

P.S. If you want to know which packages have really been placed on hold
     (as opposed to just being held back because of dependency issues)
     you can run

     aptitude search '~ahold'

     or use '~ahold' (without the single quotes) with the "search"
     (press '/') or "limit view" (press 'l') functions of the
     interactive interface.

P.P.S. The aptitude-doc-en package is highly recommended for further


Reply to: