[Aptitude-devel] Bug#531030: Re: Aptitude: "why" gives invalid reasons (e.g. using packages that are not installed).

Niels Thykier niels at thykier.net
Mon Feb 27 10:51:01 UTC 2012

On -28163-01--10 20:59, Daniel Hartwig wrote:
> Hello
> Thanks for reporting this issue with aptitude.


Thanks for the feedback...

> With regards to "orphaned" packages and the "why" command, the man
> page says this:
>   Explains the reason that a particular package should or cannot be
>   installed on the system.
>   This command searches for packages that require or conflict with the
>   given package. It displays a sequence of dependencies leading to the
>   target package, along with a note indicating the installed state of
>   each package in the dependency chain:
>   By default aptitude outputs only the “most installed, strongest,
>   tightest, shortest” dependency chain.…
> You will note that the second paragraph does not mention any
> restriction about only using installed packages, although the program
> does try to use as many installed packages as possible in it's
> response.

  Explains the reason that a particular package should or cannot be
  installed on the system.

Personally I read that as:

"why" explains to you why package X is installed on your system.
"why-not" explains to you why package X cannot be installed on your system.

So I can see the reason for "why-not" giving me a package not installed
on my system.  But I have difficult in see what use I could have of
"why" if it ignores my installed packages.

For me, the "why" command would much more useful if it showed me the
chain from a manually installed package to the package I asked for.
Admittedly I do not feel strongly about this as I stopped using
"aptitude why", so feel free to ignore this.

> "aptitude why" is not a tool to locate orphaned packages.

I was not using "aptitude why" to locate orphaned nor unused
packages[1].  I was using to double check suggestions from
deborphan/$tool.  Most of these tools rely on guesses/heurestics to
produce its results and I found it can be useful to double-check what
packages "keeps" it.

These days I just feed the results to aptitude purge and see "what falls

> I am closing this as it is not a bug, rather a feature which enables
> investigation of dependency chains regardless of package installation
> status.
> Regards

As mentioned, I do not feel strongly for this, so fine with me. :)


[1] Btw, I hope we both agree on "orphaned" here means
"unused"/"discovered by deborphan" and not "orphaned" as in "package
without (active) maintainer".

More information about the Aptitude-devel mailing list