To install one package, it is often necessary to install
several others (to fulfill its dependencies). For instance,
if you wish to install the
clanbomber
package, you must also
install the package libclanlib2
.
If you remove clanbomber
again, you
probably no longer need the
libclanlib2
package; aptitude
will attempt to detect this and automatically remove the
libclanlib2
package.
It works like this: when you install a package, aptitude will automatically install any other packages on which it depends. These packages are marked as having been “automatically installed”; aptitude will monitor them and remove them when they are no longer depended upon by any manually installed package [10] . They will appear in the preview as “packages being removed because they are no longer used.”
As with any automatic process, there is a potential for things to go haywire. For instance, even if a package was automatically installed to start with, it might turn out to be useful in its own right. You can cancel the “automatic” flag at any time by pressing m; if the package is already being removed, you can use → (+) to cancel the removal and clear the “automatic” flag.
[10] More precisely: they will be removed when there is no path via Depends, PreDepends, or Recommends to them from a manually installed package. If APT::AutoRemove::SuggestsImportant is true, a Suggests relationship is also enough to keep a package installed.