aptitude package manager

sudo aptitude [--assume-yes] # starts the screen (ncurses) interface

package list display:

 
idA     libsmbclient     -2220kB 3.0.25a-1  3.0.25a-2
||`----Automatic installed because of dependency
|`---action install reinstall upgrade hold Broken purge delete Forbidden
`-state   installed virtual configFiles present only  broken unpacked Configured 1/2 Half-installed  Error
screen back forward         ^b  ^f
first package in list;      ^a  ^e end
parent                      ^
expand/colapse              enter 
expand group                [
colapse                      ]
activate menu               ^t
previous/next tab           F7 /F6

search,  back                / , \
next (reverse direction)     n N
limit display                l

broken packages              b
versions                     v
dependent on, of             r , d

forget list of NEW packages  f
++
packageInfo area 
      scroll up|down        a|z 
    cycle                    i

dependency solutions:  , . previous next
                         > first last
resolver:  approve rejext  a r


update list                         u
mark all upgradable to be upgraded  G
perform pending install, remove...  g
install/upgrade | remove            + | -
purge                               _
hold |  hold and stop upgrades      :  | =
reinstall                           L
Mark as manual install | not manual(i.e. auto)  m | M
Forbid auto upgrade                 F
view Changelog                      C

Undo last action                   ^u

Problems

After
Performing actions...
Reading changelogs... 
Preconfiguring packages ...
(Reading database ... 4125 …
downloading, Preparing to unpack, Unpacking, Selecting previously unselected packages, Setting up and Processing triggers,
apt will prompt Press Return to continue, 'q' followed by Return to quit.
If the terminal session is unattended and times out the shell will be in do_wait state with the child processes sudo and aptitude

The lock file /var/lock/aptitude will cause aptitude to report :
could not get lock /var/lock/aptitude ….
use ps -aux | grep apt to locate the sudo that spawned aptitude and kill -kill PID.

Restart sudo aptitude and all should be well.

aptitude

high-level interface to the package manager

aptitude [options] {autoclean | clean | forget-new | keep-all | update}

aptitude [options] {full-upgrade | safe-upgrade} [packages]
aptitude [options] {build-dep | build-depends | show[src] |source | changelog | versions |
                   download | forbid-version | [un]hold | [un]install | [un]markauto | purge | remove }
                         packages

aptitude extract-cache-subset output-directory packages

aptitude [options] search patterns

aptitude [options] {add-user-tag | remove-user-tag} tag packages

aptitude [options] {why | why-not} [patterns] package

aptitude [-S fname>] [--autoclean-on-startup | --clean-on-startup | -i | -u]

aptitude help aptitude is a text-based interface to the Debian GNU/Linux package system.

View the list of packages and perform package management tasks such as installing, upgrading, and removing. Actions may be performed from a screen interface or the command-line.

Command-Line Actions

If first argument is NOT an action starts in screen mode.

install

Install packages listed after the install.
If a package name contains a tilde character ("~") or a question mark ("?"), it will be treated as a search pattern and packages matching the pattern will be installed (see the section "Search Patterns")

To select a particular version append =version to the package name: for instance, aptitude install apt=0.3.1. OR to select a package from a particular archive, append /archive to the package name: for instance, aptitude install apt/experimental.

Packages on the command line may not be installed.
Thoses with an appended override specifier to the name of the package. For example, aptitude remove wesnoth+ installs, not removes wesnoth.
Override specifiers :
+ Install package.
If the package was not installed, it is marked as manually installed, and the dependencies newly installed are marked automatic.
If the package or the dependencies were already installed, automatic is preserved.
+M Install package and mark it as automatically installed (if nothing depends on it it is removed).
- Remove package.
_ Purge package: remove it and all its associated configuration and data files.
= Place package on hold: cancel any active installation, upgrade, or removal, and prevent this package from being automatically upgraded in the future.
: Keep package at its current version: cancel any installation, removal, or upgrade. Unlike "hold" (above) this does not prevent automatic upgrades in the future.
&M Mark package as having been automatically installed.
&m Mark package as having been manually installed.
&BD Install the build-dependencies of a package. As a special case, "install" with no arguments will act on any stored/pending actions.

Entering Y at the final confirmation, the "install" command will modify aptitude's stored information about what actions to perform.
if you issue (e.g.) aptitude install foo bar on packages previously uninstalled, and then the installation fails once aptitude has started downloading and installing packages, run aptitude remove foo bar to go back to the previous state (and possibly undo installations or upgrades to other packages that were affected by install ).

remove
purge
reinstall
As with install, apply the action to all packages on the command line not overridden. For instance, aptitude remove '~ndeity' will remove all packages whose name contains "deity".
build-depends
build-dep
Satisfy the build-dependencies of a package.
If package is a source package, dependencies installed;
binary packages are found in the same way as for the "install" command, and the build-dependencies of the source packages that build those binary packages are satisfied.

With the command-line --arch-only , only architecture-dependent build dependencies (i.e., not Build-Depends-Indep or Build-Conflicts-Indep) will be obeyed.

  markauto
unmarkauto
Mark packages as automatically or manually installed.
Packages are specified as for install .
For instance, aptitude markauto '~slibs' marks packages in the "libs" section as having been automatically installed.
  hold
unhold
keep
Mark packages to be on hold, remove this property, or set to keep in the current state.
Packages are specified as for "install" . For instance, aptitude hold '~e^dpkg$' will mark packages from the source package "dpkg" to be on hold.
hold causes a package to be ignored by future safe-upgrade or full-upgrade commands,
keep cancels any scheduled actions .
unhold allows a package to be upgraded by future safe-upgrade or full-upgrade commands, without otherwise altering its state.
keep-all Cancels scheduled actions on packages; any packages whose sticky state indicates an installation, removal, or upgrade will have this sticky state cleared.
forget-new [pname] Forgets information about what packages are "new" (equivalent to pressing "f" when in visual mode). accepts package names or patterns as arguments.
If the string contains a tilde character ("~") or a question mark ("?"), it will be treated as a search pattern, packages matching the pattern will be considered
forbid-version Forbid a package from being upgraded to a particular version, allowing automatic upgrades to future versions.
Useful to avoid a known broken version of a package, without having to set and clear manual holds.
By default, aptitude will select the forbidden version to be the one which the package would normally be upgraded (the candidate version). This may be overridden by appending "=version>" to the package name: for instance, aptitude forbid-version vim=1.2.3.broken-4.
To revert the action, aptitude install package" removes the ban.
To remove the forbidden version without installing the candidate version, the current version should be appended: install package=version>.
update Updates list of available packages from the apt sources (equivalent to apt-get update)
safe-upgrade Upgrades installed packages to the most recent version.
Installed packages will be removed if they are unused.
Packages not currently installed may be installed to resolve dependencies unless the --no-new-installs .
If no packages are on the command line, those that can be upgraded will be.
The packages can be extended with suffixes in the same manner as arguments to aptitude install, so you can also give additional instructions to aptitude here; for instance, aptitude safe-upgrade bash dash- will attempt to upgrade the bash package and remove the dash package.

It is sometimes necessary to remove one package in order to upgrade another; this command is not able to upgrade packages in such situations. Use the full-upgrade command to upgrade as many packages as possible.

full-upgrade Upgrades installed packages to their most recent version, removing or installing packages as necessary. It also installs new Essential or Required packages. This command is less conservative than safe-upgrade and thus more likely to perform unwanted actions. However, it is capable of upgrading packages that safe-upgrade cannot upgrade. If no packages are listed on the command line, aptitude will attempt to upgrade every package that can be upgraded. Otherwise, aptitude will attempt to upgrade only the packages which it is instructed to upgrade. The packages can be extended with suffixes in the same manner as arguments to aptitude install, so you can also give additional instructions to aptitude here; for instance, aptitude full-upgrade bash dash- will attempt to upgrade the bash package and remove the dash package. Note This command was originally named dist-upgrade for historical reasons, and aptitude still recognizes dist-upgrade as a synonym for full-upgrade.
search Searches for packages matching one of the patterns supplied on the command line. All packages which match any of the given patterns will be displayed; for instance, "aptitude search '~N' edit" will list all "new" packages and all packages whose name contains "edit". For more information on search patterns, see the section "Search Patterns" in the aptitude reference manual.

In the example above, "aptitude search '~N' edit" has two arguments after search and thus is searching for two patterns: "~N" and "edit". As described in the search pattern reference, a single pattern composed of two sub-patterns separated by a space (such as "~N edit") matches only if both patterns match. Thus, the command "aptitude search '~N edit'" will only show "new" packages whose name contains "edit". Unless you pass the -F option, the output of aptitude search will look something like this:

 i   apt              - Advanced front-end for dpkg
 pi  apt-build        - frontend to apt to build, optimize and in
 cp  apt-file         - APT package searching utility -- command-
 ihA raptor-utils     - Raptor RDF Parser utilities 
The first character of each line indicates the current state of the package:
  • p no trace of the package exists on the system,
  • c package was deleted but its configuration files remain on the system,
  • i package is installed, and
  • v package is virtual.
    The second character indicates the stored action to be performed on the package
  • i package will be installed,
  • d package will be deleted,
  • p package and its configuration files will be removed.
If the third character is A, the package was automatically installed. To customize the output of search, see command-line -F and --sort
show Displays details about packages. If the name contains a tilde ("~") or a question mark ("?"), it is a search pattern and matching packages will be displayed

Information about the "candidate version" (the version that "aptitude install" would download) is displayed.
If the verbosity level is 1 or greater (i.e., at least one -v is on the command-line), information about all versions of the package is displayed. ,

To display information about a specific version, append =version to the package name
To display the version from a particular archive or release append /archive> or /release to the package name:
For instance, /unstable or /sid
Only the version requested will be displayed.
To display the package's architecture, compressed size, filename, and md5sum set verbosity greater than 0. To display the selected versions for each archive set verbosity greater than 1.

showsrc Displays details about source packages.
source Download source packages.
versions Displays the versions of the packages listed on the command-line.
 $ aptitude versions wesnoth
p   1:1.4.5-1                       100
p   1:1.6.5-1         unstable      500
p   1:1.7.14-1        experimental    1 
Each version is listed on a separate line. The leftmost three characters indicate the current state, planned state (if any), and whether the package was automatically installed; for more information on their meanings, see the documentation of aptitude search. To the right of the version number you can find the releases from which the version is available, and the pin priority of the version.

If a package name contains a tilde character ("~") or a question mark ("?"), it will be treated as a search pattern and all matching versions will be displayed (see the section "Search Patterns" in the aptitude reference manual). This means that, for instance, aptitude versions '~i' will display all the versions that are currently installed on the system and nothing else, not even other versions of the same packages.

 $ aptitude versions '~nexim4-daemon-light'
 Package exim4-daemon-light:
 i   4.71-3                         100
 p   4.71-4           unstable      500

 Package exim4-daemon-light-dbg:
 p   4.71-4           unstable      500
If the input is a search pattern, or if more than one package's versions are to be displayed, aptitude will automatically group the output by package, as shown above. You can disable this via --group-by=none, in which case aptitude will display a single list of all the versions that were found and automatically include the package name in each output line:
 $ aptitude versions --group-by=none '~nexim4-daemon-light'
 i   exim4-daemon-light 4.71-3                     100
 p   exim4-daemon-light 4.71-4        unstable     500
 p   exim4-daemon-light-dbg 4.71-4    unstable     500
To disable the package name, pass --show-package-names=never:
 $ aptitude versions --show-package-names=never --group-by=none '~nexim4-daemon-light'
 i   4.71-3                     100
 p   4.71-4         unstable    500
 p   4.71-4         unstable    500
In addition to the above options, the information printed for each version can be controlled by the command-line option -F. The order in which versions are displayed can be controlled by the command-line option --sort. To prevent aptitude from formatting the output into columns, use --disable-columns.
add-user-tag
remove-user-tag
Adds a user tag to or removes a user tag from the selected group of packages. If a package name contains a tilde ("~") or question mark ("?"), it is treated as a search pattern and the tag is added to or removed from all the packages that match the pattern (see the section "Search Patterns" in the aptitude reference manual). User tags are arbitrary strings associated with a package. They can be used with the ?user-tag(tag>) search term, which will select all the packages that have a user tag matching tag.
why
why-not
Explains the reason that a particular package should or cannot be installed .
Search 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:
 $ aptitude why kdepim
 i   nautilus-data Recommends nautilus
 i A nautilus      Recommends desktop-base (>= 0.2)
 i A desktop-base  Suggests   gnome | kde | xfce4 | wmaker
 p   kde           Depends    kdepim (>= 4:3.4.3)
why finds a dependency chain that installs the package named on the command line, as above. The dependency that aptitude produced in this case is only a suggestion. This is because no package currently installed depends on or recommends the kdepim package; if a stronger dependency were available, aptitude would have displayed it.

why-not finds a dependency chain leading to a conflict with the target package:

 $ aptitude why-not textopo
 i   ocaml-core          Depends   ocamlweb
 i A ocamlweb            Depends   tetex-extra | texlive-latex-extra
 i A texlive-latex-extra Conflicts textopo
If a pattern is present (in addition to the mandatory last argument, which should be a valid package name), the search begins at these patterns. That is, the first package in the chain it prints to explain why package is or is not installed, will be a package matching the pattern in question. The patterns are considered to be a package names unless they contain a tilde character ("~") or a question mark ("?"), in which case they are treated as search patterns

If no patterns are present, then aptitude will search for dependency chains beginning at manually installed packages. This effectively shows the packages that have caused or would cause a given package to be installed. why does not perform full dependency resolution; it only displays direct relationships between packages. For instance, if A requires B, C requires D, and B and C conflict, "aptitude why-not D" will not produce the answer "A depends on B, B conflicts with C, and D depends on C".

By default only the "most installed, strongest, tightest, shortest" dependency chain. That is, it looks for

  • a chain that only contains packages which are installed or will be installed;
  • then the strongest possible dependencies under that restriction;
  • then chains that avoid ORed dependencies and Provides;
  • then shortest dependency chain meeting those criteria.
These rules are progressively weakened until a match is found. If the verbosity level is eter than 0 all the explanations will be displayed, in inverse order of relevance.
Don't use verbosity level is greater than 1 as it is for debugging.

Returns 0 if successful, 1 if no explanation could be constructed, and -1 if an error occurred.

clean Removes downloaded .deb files from the cache directory
autoclean Removes cached packages which can no longer be downloaded.
This allows preventing cache from growing completely emptying it.
changelog Downloads and displays the Debian changelog for each of the given source or binary packages. By default, the changelog for the version which would be installed with "aptitude install" is downloaded. You can select a particular version of a package by appending =version> to the package name; you can select the version from a particular archive or release by appending /archive> or /release> to the package name (for instance, /unstable or /sid).
download Downloads the .deb file for the given package to the current directory. This is a thin wrapper over apt(8).
extract-cache-subset Copy the apt configuration directory (/etc/apt) and a subset of the package database to the specified directory. If no packages are listed, the entire package database is copied; otherwise only the entries corresponding to the named packages are copied. Each package name may be a search pattern, and all the packages matching that pattern will be selected (see the section "Search Patterns" in the aptitude reference manual). Any existing package database files in the output directory will be overwritten. Dependencies in binary package stanzas will be rewritten to remove references to packages not in the selected set.
help Displays a brief summary of the available commands and options.

OPTIONS

-v
--verbose
Causes some commands (for instance, show) to display extra information. multiple times increases verbosity.
Aptitude::CmdLine::Verbose.
--visual-preview When installing or removing packages from the command line, start the visual interface and display preview screen.
--add-user-tag tag For full-upgrade, safe-upgrade, forbid-version, hold, install, keep-all, markauto, unmarkauto, purge, reinstall, remove, unhold, and unmarkauto: add the user tag tag to all packages that are installed, removed, or upgraded by this command as if with the add-user-tag command.
--add-user-tag-to tag,pattern For full-upgrade, safe-upgrade, forbid-version, hold, install, keep-all, markauto, unmarkauto, purge, reinstall, remove, unhold, and unmarkauto: add tag to all packages that match pattern as if with add-user-tag .
pattern is a search pattern

For instance, aptitude safe-upgrade --add-user-tag-to new-installs,?action(install) will add the tag new-installs to all the packages installed by safe-upgrade .

--allow-new-upgrades When the safe resolver is being used (i.e. --safe-resolver was passed, the action is safe-upgrade, or Aptitude::Always-Use-Safe-Resolver is true), allow the dependency resolver to install upgrades for packages regardless of the value of Aptitude::Safe-Resolver::No-New-Upgrades.
--allow-new-installs Allow safe-upgrade to install new packages; when the safe resolver is being used (i.e.--safe-resolver was passed, the action is safe-upgrade or Aptitude::Always-Use-Safe-Resolver is true), allow the dependency resolver to install new packages. This takes effect regardless of Aptitude::Safe-Resolver::No-New-Installs.
--allow-untrusted Install packages from untrusted sources without prompting. Only use this if you know what you are doing, as it could easily compromise your system's security.
--disable-columns Causes search and versions to output results without formatting. In particular: whitespace is added or search results are truncated to fit its results into vertical "columns".
Each line will be formed by replacing format escapes in the format with the corresponding text; column widths will be ignored. For instance, the first few lines of output from
aptitude search -F '%p %V' --disable-columns libedataserver might be:
 disksearch 1.2.1-3
 hp-search-mac 0.1.3
 libbsearch-ruby 1.5-5
 libbsearch-ruby1.8 1.5-5
 libclass-dbi-abstractsearch-perl 0.07-2
 libdbix-fulltextsearch-perl 0.73-10
--disable-columns is useful in combination with a custom display format set with -F.
code>Aptitude::CmdLine::Disable-Columns.
-D
--show-deps
For commands that install or remove packages (install, full-upgrade, …), show brief explanations of automatic installations and removals.
code>Aptitude::CmdLine::Show-Deps.
-d
--download-only
Download packages to the package cache, but do not install or remove anything. By default, the package cache is /var/cache/apt/archives.
Aptitude::CmdLine::Download-Only.
-F format
--display-format format
For search and versions.
For instance, %p %v %V displays package name, its installed version and its candidate version (see Customizing how packages are displayed
The command-line --disable-columns is useful with -F.
For search,
Aptitude::CmdLine::Package-Display-Format;
For versions,
Aptitude::CmdLine::Version-Display-Format.
-f Fix the dependencies of broken packages, even if it means ignoring the actions requested on the command line.
Aptitude::CmdLine::Fix-Broken.
--full-resolver When package dependency problems are encountered, use the default "full" resolver.
Unlike the "safe" resolver activated by --safe-resolver, the full resolver will remove packages to fulfill dependencies. It can resolve more situations than the safe algorithm, but its solutions are more likely to be undesirable.
Force the use of the full resolver with Aptitude::Always-Use-Safe-Resolver
--group-by grouping-mode Control how the versions command groups output
archive to group packages by the archive they occur in ("stable", "unstable", etc). If a package occurs in several archives, it will be displayed in each of them.
auto by their package unless there is exactly one argument and it is not a search pattern.
package by their package.
source-package by their source package.
source-version by their source package and source version.
none a single list
Aptitude::CmdLine::Versions-Group-By.
--log-file=[-]file if file> is "-", the messages will be written to standard output
This does not affect the log of installations that aptitude has performed (/var/log/aptitude); the log messages written using this configuration include internal program events, errors, and debugging messages. See the command-line option --log-level to get more control over what gets logged. Aptitude::Logging::File.
--log-level=level
--log-level=category:level
only log messages whose level is level or higher. For instance, setting the log level to error will cause only messages at the log levels error and fatal to be displayed; all others will be hidden.
off, fatal, error, warn, info, debug, and trace. The default warn.
--log-level=category:level Messages in category to be logged if their level is level or higher.
May appear multiple times; the most specifi and last setting takes effect,
Does not affect the log of installations that aptitude has performed (/var/log/aptitude); the log messages written using this configuration include internal program events, errors, and debugging messages. See --log-file Aptitude::Logging::Levels.
--log-resolver Set log levels to produce logging output for processing.
Equivalent to --log-level=aptitude.resolver.search:trace --log-level=aptitude.resolver.search.tiers:info.
--no-new-installs Prevent safe-upgrade from installing new packages
when the safe resolver is being used (i.e., --safe-resolver was passed or Aptitude::Always-Use-Safe-Resolver is set to true),
forbid the dependency resolver from installing new packages.
takes effect regardless of the value of .
mimics apt-get upgrade.
--no-new-upgrades When the safe resolver is being used …
Do NOT install upgrades regardless of Aptitude::Safe-Resolver::No-New-Upgrades.
--no-show-resolver-actions Do not display the actions performed by the "safe" resolver, overriding configuration or --show-resolver-actions.
-O order
--sort order
order output is displayed. For instance, passing installsize lists packages according to size when installed (see"Customizing how packages are sorted" Prepending the order keyword The default sort order is name,version.
-o key=value Set a configuration option ; example:, -o Aptitude::=/tmp/my-log See Configuration
-P
--prompt
Always display a prompt before downloading, installing or removing packages,
Aptitude::CmdLine::Always-Prompt.
--purge-unused If Aptitude::Delete-Unused is "true" (default), also purge them, removing configuration files and other data. see "Managing Automatically Installed Packages"
CAN CAUSE DATA LOSS!
Aptitude::Purge-Unused.
-q[=n]
--quiet[=n]
Suppress progress indicators
Multiple times makes the program quieter,
n sets the amount of quietness
/etc/apt/apt.conf; causes the program to behave as if -q had been passed n times.
-R
--without-recommends
Do not treat recommendations as dependencies when installing new packages (overrides /etc/apt/apt.conf and ~/.aptitude/config.
Packages previously installed due to recommendations will not be removed. APT::Install-Recommends and APT::AutoRemove::RecommendsImportant.
-r
--with-recommends
Treat recommendations as dependencies hen installing new packages (overrides /etc/apt/apt.conf and ~/.aptitude/config). APT::Install-Recommends
--remove-user-tag tag For full-upgrade, safe-upgrade forbid-version, hold, install, keep-all, markauto, unmarkauto, purge, reinstall, remove, unhold, and unmarkauto:
remove the user tag from packages that are installed, removed, or upgraded as if with the add-user-tag
--remove-user-tag-from tag ,pattern For full-upgrade, … (as with --remove-user-tag) :from packages that match pattern described in the "Search Patterns" in the aptitude reference manual.
For instance, aptitude safe-upgrade --remove-user-tag-from "not-upgraded,?action(upgrade)" removes the not-upgraded tag from packages that safe-upgrade is able to upgrade.
-s
--simulate
don't perform actions display what would be poerformed .
Does not require root privileges.
In the visual interface, open cache in read-only mode.
Aptitude::Simulate.
--safe-resolver When package dependency problems are encountered, use a "safe" algorithm to solve them.
This resolver attempts to preserve as many choices as possible;
it will not remove a package or install a version other than the package's default candidate version.
It is the same algorithm used in safe-upgrade; aptitude --safe-resolver full-upgrade
Aptitude::Always-Use-Safe-Resolver true.
--schedule-only For commands that modify package states, schedule operations to be performed.
Execute scheduled actions by running aptitude install with no arguments.
Equivalent to making the corresponding selections in visual mode, then exiting.
Example: aptitude --schedule-only install evolution
--show-package-names when Controls when the versions command shows package names.
always
auto if the output is not grouped by package, and there is a pattern-matching argument or more than one argument.
never

Aptitude::CmdLine::Versions-Show-Package-Names.
--show-resolver-actions Display actions performed by "safe" resolver and safe-upgrade.
Displays a summary of the actions performed by the resolver before oputputing the preview. Aptitude::Safe-Resolver::Show-Resolver-Actions.
--show-summary [=mode] "aptitude why" summarizes dependency chain
With mode> is not "no-summary", chains that contain Suggests dependencies will not be displayed: combine --show-summary with -v to see a summary of all the reasons for the target package to be installed.
no-summary don't show a summary (the default behavior if --show-summary is not present).
first-package display the first package in each chain. This is the default value of MODE> if it is not present.
first-package-and-type display the first package in each chain, along with the strength of the weakest dependency in the chain.
all-packages briefly display each chain of dependencies leading to the target package.
all-packages-with-dep-versions briefly display each chain of dependencies leading to the target package, including the target version of each dependency.
Aptitude::CmdLine::Show-Summary; if --show-summary is present on the command-line,

Example 12. Usage of --show-summary --show-summary used with -v to display all the reasons a package is installed: $ aptitude -v --show-summary why foomatic-db Packages requiring foomatic-db: cupsys-driver-gutenprint foomatic-db-engine foomatic-db-gutenprint foomatic-db-hpijs foomatic-filters-ppds foomatic-gui kde printconf wine $ aptitude -v --show-summary=first-package-and-type why foomatic-db Packages requiring foomatic-db: [Depends] cupsys-driver-gutenprint [Depends] foomatic-db-engine [Depends] foomatic-db-gutenprint [Depends] foomatic-db-hpijs [Depends] foomatic-filters-ppds [Depends] foomatic-gui [Depends] kde [Depends] printconf [Depends] wine $ aptitude -v --show-summary=all-packages why foomatic-db Packages requiring foomatic-db: cupsys-driver-gutenprint D: cups-driver-gutenprint D: cups R: foomatic-filters R: foomatic-db-engine D: foomatic-db foomatic-filters-ppds D: foomatic-filters R: foomatic-db-engine D: foomatic-db kde D: kdeadmin R: system-config-printer-kde D: system-config-printer R: hal-cups-utils D: cups R: foomatic-filters R: foomatic-db-engine D: foomatic-db wine D: libwine-print D: cups-bsd R: cups R: foomatic-filters R: foomatic-db-engine D: foomatic-db foomatic-db-engine D: foomatic-db foomatic-db-gutenprint D: foomatic-db foomatic-db-hpijs D: foomatic-db foomatic-gui D: python-foomatic D: foomatic-db-engine D: foomatic-db printconf D: foomatic-db $ aptitude -v --show-summary=all-packages-with-dep-versions why foomatic-db Packages requiring foomatic-db: cupsys-driver-gutenprint D: cups-driver-gutenprint (>= 5.0.2-4) D: cups (>= 1.3.0) R: foomatic-filters (>= 4.0) R: foomatic-db-engine (>= 4.0) D: foomatic-db (>= 20090301) foomatic-filters-ppds D: foomatic-filters R: foomatic-db-engine (>= 4.0) D: foomatic-db (>= 20090301) kde D: kdeadmin (>= 4:3.5.5) R: system-config-printer-kde (>= 4:4.2.2-1) D: system-config-printer (>= 1.0.0) R: hal-cups-utils D: cups R: foomatic-filters (>= 4.0) R: foomatic-db-engine (>= 4.0) D: foomatic-db (>= 20090301) wine D: libwine-print (= 1.1.15-1) D: cups-bsd R: cups R: foomatic-filters (>= 4.0) R: foomatic-db-engine (>= 4.0) D: foomatic-db (>= 20090301) foomatic-db-engine D: foomatic-db foomatic-db-gutenprint D: foomatic-db foomatic-db-hpijs D: foomatic-db foomatic-gui D: python-foomatic (>= 0.7.9.2) D: foomatic-db-engine D: foomatic-db (>= 20090301) printconf D: foomatic-db --show-summary used to list a chain on one line: $ aptitude --show-summary=all-packages why aptitude-gtk libglib2.0-data Packages requiring libglib2.0-data: aptitude-gtk D: libglib2.0-0 R: libglib2.0-data

-t release
--target-release release>
Set the release
For instance, "aptitude -t experimental ..." will install packages from the experimental distribution Affects the default candidate version according to the rules described in apt_preferences(5).
APT::Default-Release.
-W
--show-why
In the preview displayed before packages are installed or removed, show which manually installed package requires each automatically installed package. For instance:
$ aptitude --show-why install mediawiki
              … 
               The following NEW packages will be installed:
                 libapache2-mod-php5{a} (for mediawiki)  mediawiki  php5{a} (for mediawiki)
                 php5-cli{a} (for mediawiki)  php5-common{a} (for mediawiki)
                 php5-mysql{a} (for mediawiki)
With -verbose or a non-zero value for Aptitude::CmdLine::Verbose, displays the entire chain of dependencies that lead each package to be installed. Describes why packages are being removed, . In this example, libdb4.2-dev conflicts with libdb-dev, which is provided by llibdb-dev.
$ aptitude -v --show-why install libdb4.2-dev
               The following NEW packages will be installed:
                 libdb4.2{a} (libdb4.2-dev D: libdb4.2)  libdb4.2-dev
               The following packages will be REMOVED:
                 libdb4.4-dev{a} (libdb4.2-dev C: libdb-dev P- libdb-dev)
Aptitude::CmdLine::Show-Why
-w width
--width width
display width used for output from the search and versions (in the command line).M
By default and with a terminal, the terminal width is used.
When output is redirected "unlimited" line width is used,
Aptitude::CmdLine::Package-Display-Width
-y
--assume-yes
Suppresses the prompt when installing, upgrading, or removing packages.
Always prompts for dangerous actions, such as removing essential packages, overrides -P. Aptitude::CmdLine::Assume-Yes.
-Z Displays disk space to be used .
-h
--help
Display a help
--version 
-V
--show-versions
Aptitude::CmdLine::Show-Versions. code>Aptitude::CmdLine::Show-Size-Changes.
--autoclean-on-startup Deletes downloaded files when starting.
Conflicts with "--clean-on-startup", "-i", or "-u" at the same time.
--clean-on-startup Cleans the package cache when starting.
Conflicts with "--autoclean-on-startup", "-i", or "-u"
-i Displays a download preview when starting (equivalent to starting the program and immediately pressing "g").
Conflicts with "--autoclean-on-startup", "--clean-on-startup", or "-u"
-S fname Loads the extended state information from fname
-u Begins updating the package lists when starting.
Conflicts with "--autoclean-on-startup", "--clean-on-startup", or "-i" at the same time.

ENVIRONMENT

$HOME Store configuration file in $HOME/.aptitude/config. or the current user's home directory using getpwuid(2)
$PAGER For aptitude changelog default more.
$TMP If $TMPDIR is unset, temporary files in $TMP default /tmp.
$TMPDIR Temporary files If not set, then $TMP will be used;

FILES

stored package states and some package flags are stored.
/var/lib/aptitude/pkgstates

The configuration files for aptitude.
/etc/apt/apt.conf
/etc/apt/apt.conf.d/*
~/.aptitude/config

~/.aptitude/config overrides /etc/apt/apt.conf.

See apt.conf(5) for documentation of the format and contents of these files. SEE apt-get(8), apt(8), /usr/share/doc/aptitude/html//index.html from the package aptitude-doc-lang

Errors

E: Failed to download some files
W: Failed to fetch http://raspbian.raspberrypi.org/raspbian/dists/buster/InRelease:
W: Failed to fetch http://archive.raspberrypi.org/debian/buster/InRelease:
E: Some index files dailed to download. THey have been ignored, or old one used instead.