From the manuals:
The command why finds a dependency chain that installs the package named on the command line, as above. Note that the dependency that aptitude produced in this case is only a suggestion. This is because no package currently installed on this computer depends on or recommends the kdepim package; if a stronger dependency were available, aptitude would have displayed it.
In contrast, why-not finds a dependency chain leading to a conflict with the target package:
In my case(
Ubuntu 14.04.2 LTS \n \l), I'm trying to install
$ sudo apt-get install libdbus-1-3:i386 Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: libdbus-1-3:i386 : Depends: libc6:i386 (>= 2.10) but it is not going to be installed unity-control-center : Depends: libcheese-gtk23 (>= 3.4.0) but it is not going to be installed Depends: libcheese7 (>= 3.0.1) but it is not going to be installed E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
aptitude why and
aptitude why-not, hoping to get more information about why the installation failed.
$ sudo aptitude why libdbus-1-3:i386 p upstart:i386 Provides upstart p upstart:i386 Depends libdbus-1-3:i386 (>= 1.2.16) $ sudo aptitude why-not libdbus-1-3:i386 Unable to find a reason to remove libdbus-1-3:i386. $ sudo aptitude why libc6:i386 p sqlite3:i386 Provides sqlite3 p sqlite3:i386 Depends libc6:i386 (>= 2.4) $ sudo aptitude why-not libc6:i386 p sqlite3:i386 Provides sqlite3 p sqlite3:i386 Depends libc6:i386 (>= 2.4) p libc6:i386 Conflicts libc6-xen:i386 p libc6:i386 Provides libc6-xen:i386
But I can not understand the meaning of the output. Can someone please help me?