Just today, trying an update on Ubuntu 14.04:
$ sudo apt-get update # ... $ sudo apt-get upgrade Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages have been kept back: phablet-tools ubuntu-sdk ubuntu-sdk-ide The following packages will be upgraded: cgroup-lite curl libcurl3 libcurl3-gnutls python3-update-manager update-manager update-manager-core xserver-xorg-core-lts-xenial 8 upgraded, 0 newly installed, 0 to remove and 3 not upgraded. Need to get 2,305 kB of archives. After this operation, 13.3 kB of additional disk space will be used. Do you want to continue? [Y/n] ^C
Ok, so from this I gather
ubuntu-sdk-ide packages had dependency changes in this update, and hence I'd have to call
dist-upgrade; so I do:
$ sudo apt-get dist-upgrade Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following packages were automatically installed and are no longer required: at dctrl-tools devscripts distro-info-data dput intltool libcommon-sense-perl libdistro-info-perl libexporter-lite-perl libio-stringy-perl libjson-perl libjson-xs-perl libparse-debcontrol-perl unity-scope-tool Use 'apt-get autoremove' to remove them. The following NEW packages will be installed: autopilot-desktop gir1.2-gconf-2.0 gir1.2-upstart-app-launch-2 libautopilot-gtk libautopilot-qt liblxc1 libseccomp2 libxpathselect1.4 lxc-common lxcfs lxd lxd-client python-autopilot python-autopilot-trace python-autopilot-vis python-contextlib2 python-decorator python-evdev python-extras python-fixtures python-junitxml python-mimeparse python-psutil python-subunit python-testscenarios python-testtools squashfs-tools ubuntu-sdk-tools uidmap The following packages have been kept back: ubuntu-sdk The following packages will be upgraded: cgroup-lite curl libcurl3 libcurl3-gnutls python3-update-manager ubuntu-sdk-ide update-manager update-manager-core xserver-xorg-core-lts-xenial 9 upgraded, 29 newly installed, 0 to remove and 1 not upgraded. Need to get 50.2 MB of archives. After this operation, 66.9 MB of additional disk space will be used. Do you want to continue? [Y/n] ^C
ubuntu-sdk is still held back - but now I also get a ton of packages to be removed, as "no longer required", as well as a ton of packages to install. And this sort of irritates me, because I cannot tell which package (dependency), in particular, causes either installation of new - or removal due "no longer required" of old packages.
So my question is - is there some sort of verbose mode, or a switch, of
aptitude or similar programs, that would list what the dependency changes are from current to new version? I know I can do:
$ apt-cache depends ubuntu-sdk ubuntu-sdk Depends: autopilot-desktop Depends: intltool Depends: phablet-tools Depends: ubuntu-device-flash Depends: ubuntu-sdk-ide
... but I read this as the state of the current version; what I'd like is something like (pseudocode)
$ apt-command --show-dependency-changes ubuntu-sdk ubuntu-sdk: Installed: 1.126.2~0ubuntu1~trusty2 # as in 'apt-cache policy ubuntu-sdk' Candidate: 1.266~0ubuntu1~0trusty Depends: autopilot-desktop (installed v. XXX, candidate no longer required) Depends: intltool (installed v. XXX, candidate v. YYY) Depends: dctrl-tools (installed no dependency, candidate v. YYY) ...
... i.e. I'd like a verbose explanation of the reason why a particular package would be newly installed or removed.
Anything like this out there?