Managing automatically installed packages

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 PackageInstall (+) 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 Aptitude::Keep-Suggests is true, a Suggests relationship is also enough to keep a package installed.