info > APTITUDE

🏷️ NAME

aptitude - high-level interface to the package manager

🚀 Quick Reference

Use CaseCommandDescription
📦 Install a packageaptitude install <package>Install one or more packages with dependency resolution
🗑️ Remove a packageaptitude remove <package>Remove packages (config files remain)
🧹 Clean package cacheaptitude cleanRemove all downloaded .deb files
🔄 Update package listsaptitude updateRefresh available packages from apt sources
⬆️ Safe upgradeaptitude safe-upgradeUpgrade packages without removing existing ones
🔼 Full upgradeaptitude full-upgradeUpgrade packages, possibly removing/installing others
🔍 Search packagesaptitude search <pattern>Search for packages using patterns
ℹ️ Show package infoaptitude show <package>Display detailed information about a package
❓ Explain why installedaptitude why <package>Show dependency chain explaining package installation
📋 List versionsaptitude versions <package>Display available versions of a package

📋 SYNOPSIS

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

aptitude [<options>...] {full-upgrade | safe-upgrade} [<packages>...]

aptitude [<options>...] {build-dep | build-depends | changelog | download | forbid-version | hold | install | markauto | purge | reinstall | remove | show | showsrc | source | unhold | unmarkauto | versions} <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

📖 DESCRIPTION

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

It allows the user to view the list of packages and to perform package management tasks such as installing, upgrading, and removing packages. Actions may be performed from a visual interface or from the command-line.

🛠️ COMMAND-LINE ACTIONS

The first argument which does not begin with a hyphen (“-”) is considered to be an action that the program should perform. If an action is not specified on the command-line, aptitude will start up in visual mode.

📦 install

Install one or more packages. The packages should be listed after the “install” command; if a package name contains a tilde character (“~”) or a question mark (“?”), it will be treated as a search pattern and every package matching the pattern will be installed (see the section “Search Patterns” in the aptitude reference manual).

To select a particular version of the package, append “=<version>” to the package name: for instance, “aptitude install apt=0.3.1”. Similarly, to select a package from a particular archive, append “/<archive>” to the package name: for instance, “aptitude install apt/experimental”. You cannot specify both an archive and a version for a package.

Not every package listed on the command line has to be installed; you can tell aptitude to do something different with a package by appending an “override specifier” to the name of the package. For example, aptitude remove wesnoth+ will install wesnoth, not remove it. The following override specifiers are available:

As a special case, “install” with no arguments will act on any stored/pending actions.

Note: Once you enter Y at the final confirmation prompt, the “install” command will modify aptitude's stored information about what actions to perform. Therefore, if you issue (e.g.) the command “aptitude install foo bar” on packages previously uninstalled, and then the installation fails once aptitude has started downloading and installing packages, you will need to 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 the “install” action).

🗑️ remove, purge, reinstall

These commands are the same as “install”, but apply the named action to all packages given on the command line for which it is 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. Each package name may be a source package, in which case the build dependencies of that source package are installed; otherwise, 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.

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

🏷️ markauto, unmarkauto

Mark packages as automatically installed or manually installed, respectively. Packages are specified in exactly the same way as for the “install” command. For instance, “aptitude markauto '~slibs'” will mark all 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 in exactly the same way as for the “install” command. For instance, “aptitude hold '~e^dpkg$'” will mark all packages coming from the source package “dpkg” to be on hold.

The difference between hold and keep is that hold will cause a package to be ignored by future safe-upgrade or full-upgrade commands, while keep merely cancels any scheduled actions on the package. unhold will allow a package to be upgraded by future safe-upgrade or full-upgrade commands, without otherwise altering its state.

🛑 keep-all

Cancels all scheduled actions on all packages; any packages whose sticky state indicates an installation, removal, or upgrade will have this sticky state cleared.

🆕 forget-new

Forgets all internal information about what packages are “new” (equivalent to pressing “f” when in visual mode).

This command 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 and every package matching the pattern will be considered.

🚫 forbid-version

Forbid a package from being upgraded to a particular version, while allowing automatic upgrades to future versions. This is useful for example 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>” will remove the ban. To remove the forbidden version without installing the candidate version, the current version should be appended: “install <package>=<version>”.

🔄 update

Updates the list of available packages from the apt sources (this is equivalent to “apt-get update”).

⬆️ safe-upgrade

Upgrades installed packages to their most recent version. Installed packages will not be removed unless they are unused. Packages which are not currently installed may be installed to resolve dependencies unless the --no-new-installs command-line option is supplied.

If no <package>s 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 <package>s can be extended with suffixes in the same manner as arguments to aptitude install, so you can also give additional instructions to aptitude here.

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 <package>s 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 <package>s can be extended with suffixes in the same manner as arguments to aptitude install.

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”.

Note: 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

Each search result is listed on a separate line. The first character of each line indicates the current state of the package: the most common states are p (no trace), c (config files remain), i (installed), and v (virtual). The second character indicates the stored action (if any; otherwise blank): i (install), d (delete), p (purge). If the third character is A, the package was automatically installed.

ℹ️ show

Displays detailed information about one or more packages. If a package name contains a tilde character (“~”) or a question mark (“?”), it will be treated as a search pattern and all matching packages will be displayed.

If the verbosity level is 1 or greater (at least one -v), information about all versions of the package is displayed. Otherwise, information about the “candidate version” is displayed.

You can display information about a different version by appending =<version> to the package name; you can display the version from a particular archive by appending /<archive> or /<release>.

📄 showsrc

Displays detailed information about one or more source packages. This is a thin wrapper over apt(8).

📥 source

Downloads one or more source packages. This is a thin wrapper over apt(8).

📋 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, and whether the package was automatically installed. To the right of the version number you can find the releases from which the version is available, and the pin priority.

If a package name contains a tilde (“~”) or question mark (“?”), it will be treated as a search pattern and all matching versions will be displayed.

$ 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. You can disable this via --group-by=none.

$ 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 --sort. To prevent formatting 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.

User tags are arbitrary strings associated with a package. They can be used with the ?user-tag(<tag>) search term.

❓ why, why-not

Explains the reason that a particular package should or cannot be installed on the system.

This command searches 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)

The command why finds a dependency chain that installs the package named on the command line. In contrast, 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 one or more <pattern>s are present (in addition to the mandatory last argument), then aptitude will begin its search at these patterns. The patterns are considered to be package names unless they contain a tilde (“~”) or 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.

Note: aptitude why does not perform full dependency resolution; it only displays direct relationships between packages.

By default aptitude outputs only the “most installed, strongest, tightest, shortest” dependency chain. If the verbosity level is 1 or more, then all the explanations aptitude can find will be displayed, in inverse order of relevance. If the verbosity level is 2 or more, a truly excessive amount of debugging information will be printed to standard output.

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

🧹 clean

Removes all previously downloaded .deb files from the package cache directory (usually /var/cache/apt/archives).

🧹 autoclean

Removes any cached packages which can no longer be downloaded. This allows you to prevent a cache from growing out of control over time without 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 by appending =<version> to the package name; you can select the version from a particular archive by appending /<archive> or /<release>.

⬇️ 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. 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

The following options may be used to modify the behavior of the actions described above. Note that while all options will be accepted for all commands, some options don't apply to particular commands and will be ignored by those commands.

--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 the user tag <tag> to all packages that match <pattern> as if with the add-user-tag command. The pattern is a search pattern as described in the section “Search Patterns” in the aptitude reference manual.

--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 set to 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 the safe-upgrade command to install new packages; when the safe resolver is being used, allow the dependency resolver to install new packages. This option takes effect regardless of the value of Aptitude::Safe-Resolver::No-New-Installs.

--allow-untrusted

Install packages from untrusted sources without prompting. You should only use this if you know what you are doing, as it could easily compromise your system's security.

--disable-columns

This option causes aptitude search and aptitude versions to output their results without any special formatting. In particular: normally aptitude will add whitespace or truncate search results in an attempt to fit its results into vertical “columns”. With this flag, each line will be formed by replacing any format escapes in the format string with the corresponding text; column widths will be ignored.

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

This corresponds to the configuration option Aptitude::CmdLine::Disable-Columns.

-D, --show-deps

For commands that will install or remove packages (install, full-upgrade, etc), show brief explanations of automatic installations and removals. This corresponds to the configuration option Aptitude::CmdLine::Show-Deps.

-d, --download-only

Download packages to the package cache as necessary, but do not install or remove anything. By default, the package cache is stored in /var/cache/apt/archives. This corresponds to the configuration option Aptitude::CmdLine::Download-Only.

-F <format>, --display-format <format>

Specify the format which should be used to display output from the search and versions commands. For instance, passing “%p %v %V” for <format> will display a package's name, followed by its currently installed version and its candidate version. The command-line option --disable-columns is often useful in combination with -F.

This corresponds to the configuration option Aptitude::CmdLine::Package-Display-Format (for search) or Aptitude::CmdLine::Version-Display-Format (for versions).

-f

Try hard to fix the dependencies of broken packages, even if it means ignoring the actions requested on the command line. This corresponds to the configuration item Aptitude::CmdLine::Fix-Broken.

--full-resolver

When package dependency problems are encountered, use the default “full” resolver to solve them. Unlike the “safe” resolver activated by --safe-resolver, the full resolver will happily remove packages to fulfill dependencies. It can resolve more situations than the safe algorithm, but its solutions are more likely to be undesirable.

This option can be used to force the use of the full resolver even when Aptitude::Always-Use-Safe-Resolver is true.

--group-by <grouping-mode>

Control how the versions command groups its output. The following values are recognized:

This corresponds to the configuration option Aptitude::CmdLine::Versions-Group-By.

-h, --help

Display a brief help message. Identical to the help action.

--log-file=<file>

If <file> is a nonempty string, log messages will be written to it, except that if <file> is “-”, the messages will be written to standard output instead. If this option appears multiple times, the last occurrence is the one that will take effect.

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.

This corresponds to the configuration option Aptitude::Logging::File.

--log-level=<level>, --log-level=<category>:<level>

--log-level=<level> causes aptitude to only log messages whose level is <level> or higher. Valid log levels (in descending order) are off, fatal, error, warn, info, debug, and trace. The default log level is warn.

--log-level=<category>:<level> causes messages in <category> to only be logged if their level is <level> or higher.

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-file to change where log messages go.

This corresponds to the configuration group Aptitude::Logging::Levels.

--log-resolver

Set some standard log levels related to the resolver, to produce logging output suitable for processing with automated tools. This is equivalent to the command-line options --log-level=aptitude.resolver.search:trace --log-level=aptitude.resolver.search.tiers:info.

--no-new-installs

Prevent safe-upgrade from installing any new packages; when the safe resolver is being used, forbid the dependency resolver from installing new packages. This option takes effect regardless of the value of Aptitude::Safe-Resolver::No-New-Installs.

This mimics the historical behavior of apt-get upgrade.

--no-new-upgrades

When the safe resolver is being used, forbid the dependency resolver from installing upgrades for packages regardless of the value of Aptitude::Safe-Resolver::No-New-Upgrades.

--no-show-resolver-actions

Do not display the actions performed by the “safe” resolver, overriding any configuration option or earlier --show-resolver-actions.

-O <order>, --sort <order>

Specify the order in which output from the search and versions commands should be displayed. For instance, passing “installsize” for <order> will list packages in order according to their size when installed. Prepending the order keyword with a tilde character (~) reverses the order from ascending to descending. The default sort order is name,version.

-o <key>=<value>

Set a configuration file option directly; for instance, use -o Aptitude::Log=/tmp/my-log to log aptitude's actions to /tmp/my-log.

-P, --prompt

Always display a prompt before downloading, installing or removing packages, even when no actions other than those explicitly requested will be performed. This corresponds to the configuration option Aptitude::CmdLine::Always-Prompt.

--purge-unused

If Aptitude::Delete-Unused is set to “true” (its default), then in addition to removing each package that is no longer required by any installed package, aptitude will also purge them, removing their configuration files and perhaps other important data. THIS OPTION CAN CAUSE DATA LOSS! DO NOT USE IT UNLESS YOU KNOW WHAT YOU ARE DOING!

This corresponds to the configuration option Aptitude::Purge-Unused.

-q[=<n>], --quiet[=<n>]

Suppress all incremental progress indicators, thus making the output loggable. This may be supplied multiple times to make the program quieter, but unlike apt-get, aptitude does not enable -y when -q is supplied more than once.

The optional =<n> may be used to directly set the amount of quietness (for instance, to override a setting in /etc/apt/apt.conf); it causes the program to behave as if -q had been passed exactly <n> times.

-R, --without-recommends

Do not treat recommendations as dependencies when installing new packages (this overrides settings in /etc/apt/apt.conf and ~/.aptitude/config). Packages previously installed due to recommendations will not be removed.

This corresponds to the pair of configuration options APT::Install-Recommends and APT::AutoRemove::RecommendsImportant.

-r, --with-recommends

Treat recommendations as dependencies when installing new packages (this overrides settings in /etc/apt/apt.conf and ~/.aptitude/config).

This corresponds to the configuration option 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 <tag> from all packages that are installed, removed, or upgraded by this command as if with the add-user-tag command.

--remove-user-tag-from <tag>,<pattern>

For full-upgrade, safe-upgrade forbid-version, hold, install, keep-all, markauto, unmarkauto, purge, reinstall, remove, unhold, and unmarkauto: remove the user tag <tag> from all packages that match <pattern> as if with the remove-user-tag command. The pattern is a search pattern as described in the section “Search Patterns” in the aptitude reference manual.

For instance, aptitude safe-upgrade --remove-user-tag-from "not-upgraded,?action(upgrade)" will remove the not-upgraded tag from all packages that the safe-upgrade command is able to upgrade.

-s, --simulate

In command-line mode, print the actions that would normally be performed, but don't actually perform them. This does not require root privileges. In the visual interface, always open the cache in read-only mode regardless of whether you are root.

This corresponds to the configuration option Aptitude::Simulate.

--safe-resolver

When package dependency problems are encountered, use a “safe” algorithm to solve them. This resolver attempts to preserve as many of your choices as possible; it will never remove a package or install a version of a package other than the package's default candidate version. It is the same algorithm used in safe-upgrade; indeed, aptitude --safe-resolver full-upgrade is equivalent to aptitude safe-upgrade. Because safe-upgrade always uses the safe resolver, it does not accept the --safe-resolver flag.

This option is equivalent to setting the configuration variable Aptitude::Always-Use-Safe-Resolver to true.

--schedule-only

For commands that modify package states, schedule operations to be performed in the future, but don't perform them. You can execute scheduled actions by running aptitude install with no arguments. This is equivalent to making the corresponding selections in visual mode, then exiting the program normally.

For instance, aptitude --schedule-only install evolution will schedule the evolution package for later installation.

--show-package-names <when>

Controls when the versions command shows package names. The following settings are allowed:

This option corresponds to the configuration item Aptitude::CmdLine::Versions-Show-Package-Names.

--show-resolver-actions

Display the actions performed by the “safe” resolver and by safe-upgrade.

When executing the command safe-upgrade or when the option --safe-resolver is present, aptitude will display a summary of the actions performed by the resolver before printing the installation preview. This is equivalent to the configuration option Aptitude::Safe-Resolver::Show-Resolver-Actions.

--show-summary[=<MODE>]

Changes the behavior of “aptitude why” to summarize each dependency chain that it outputs, rather than displaying it in long form. If this option is present and <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.

<MODE> can be any one of the following:

  1. no-summary: don't show a summary (the default behavior if --show-summary is not present).
  2. first-package: display the first package in each chain. This is the default value of <MODE> if it is not present.
  3. first-package-and-type: display the first package in each chain, along with the strength of the weakest dependency in the chain.
  4. all-packages: briefly display each chain of dependencies leading to the target package.
  5. all-packages-with-dep-versions: briefly display each chain of dependencies leading to the target package, including the target version of each dependency.

This option corresponds to the configuration item Aptitude::CmdLine::Show-Summary.

Example 12. Usage of --show-summary

$ 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
$ 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 from which packages should be installed. For instance, “aptitude -t experimental ...” will install packages from the experimental distribution unless you specify otherwise.

This will affect the default candidate version of packages according to the rules described in apt_preferences(5).

This corresponds to the configuration item APT::Default-Release.

-V, --show-versions

Show which versions of packages will be installed. This corresponds to the configuration option Aptitude::CmdLine::Show-Versions.

-v, --verbose

Causes some commands (for instance, show) to display extra information. This may be supplied multiple times to get more and more information. This corresponds to the configuration option Aptitude::CmdLine::Verbose.

--version

Display the version of aptitude and some information about how it was compiled.

--visual-preview

When installing or removing packages from the command line, instead of displaying the usual prompt, start up the visual interface and display its preview screen.

-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)

When combined with -v or a non-zero value for Aptitude::CmdLine::Verbose, this displays the entire chain of dependencies that lead each package to be installed. For instance:

$ 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)

This option will also describe why packages are being removed, as shown above. In this example, libdb4.2-dev conflicts with libdb-dev, which is provided by libdb-dev.

This argument corresponds to the configuration option Aptitude::CmdLine::Show-Why and displays the same information that is computed by aptitude why and aptitude why-not.

-w <width>, --width <width>

Specify the display width which should be used for output from the search and versions commands (in the command line).

By default and when the output is seen directly in a terminal, the terminal width is used. When the output is redirected or piped, a very large "unlimited" line width is used, and this option is ignored.

This corresponds to the configuration option Aptitude::CmdLine::Package-Display-Width.

-y, --assume-yes

When a yes/no prompt would be presented, assume that the user entered “yes”. In particular, suppresses the prompt that appears when installing, upgrading, or removing packages. Prompts for “dangerous” actions, such as removing essential packages, will still be displayed. This option overrides -P.

This corresponds to the configuration option Aptitude::CmdLine::Assume-Yes.

-Z

Show how much disk space will be used or freed by the individual packages being installed, upgraded, or removed. This corresponds to the configuration option Aptitude::CmdLine::Show-Size-Changes.

The following options apply to the visual mode of the program, but are primarily for internal use; you generally won't need to use them yourself.

--autoclean-on-startup

Deletes old downloaded files when the program starts (equivalent to starting the program and immediately selecting Actions → Clean obsolete files). You cannot use this option and “--clean-on-startup”, “-i”, or “-u” at the same time.

--clean-on-startup

Cleans the package cache when the program starts (equivalent to starting the program and immediately selecting Actions → Clean package cache). You cannot use this option and “--autoclean-on-startup”, “-i”, or “-u” at the same time.

-i

Displays a download preview when the program starts (equivalent to starting the program and immediately pressing “g”). You cannot use this option and “--autoclean-on-startup”, “--clean-on-startup”, or “-u” at the same time.

-S <fname>

Loads the extended state information from <fname> instead of the standard state file.

-u

Begins updating the package lists as soon as the program starts. You cannot use this option and “--autoclean-on-startup”, “--clean-on-startup”, or “-i” at the same time.

🌐 ENVIRONMENT

📁 FILES

🔗 SEE ALSO

apt-get(8), apt(8), /usr/share/doc/aptitude/html/<lang>/index.html from the package aptitude-doc-<lang>

👤 AUTHORS

©️ COPYRIGHT

Copyright 2004-2011 Daniel Burrows.

Copyright 2014-2016 Manuel A. Fernandez Montecelo

This manual page is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This manual page is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

APTITUDE
🏷️ NAME 🚀 Quick Reference 📋 SYNOPSIS 📖 DESCRIPTION 🛠️ COMMAND-LINE ACTIONS
📦 install 🗑️ remove, purge, reinstall 🏗️ build-depends, build-dep 🏷️ markauto, unmarkauto 🔒 hold, unhold, keep 🛑 keep-all 🆕 forget-new 🚫 forbid-version 🔄 update ⬆️ safe-upgrade 🔼 full-upgrade 🔍 search ℹ️ show 📄 showsrc 📥 source 📋 versions 🏷️ add-user-tag, remove-user-tag ❓ why, why-not 🧹 clean 🧹 autoclean 📋 changelog ⬇️ download 📂 extract-cache-subset ❓ help
⚙️ OPTIONS
--add-user-tag <tag> --add-user-tag-to <tag>,<pattern> --allow-new-upgrades --allow-new-installs --allow-untrusted --disable-columns -D, --show-deps -d, --download-only -F <format>, --display-format <format> -f --full-resolver --group-by <grouping-mode> -h, --help --log-file=<file> --log-level=<level>, --log-level=<category>:<level> --log-resolver --no-new-installs --no-new-upgrades --no-show-resolver-actions -O <order>, --sort <order> -o <key>=<value> -P, --prompt --purge-unused -q[=<n>], --quiet[=<n>] -R, --without-recommends -r, --with-recommends --remove-user-tag <tag> --remove-user-tag-from <tag>,<pattern> -s, --simulate --safe-resolver --schedule-only --show-package-names <when> --show-resolver-actions --show-summary[=<MODE>] -t <release>, --target-release <release> -V, --show-versions -v, --verbose --version --visual-preview -W, --show-why -w <width>, --width <width> -y, --assume-yes -Z --autoclean-on-startup --clean-on-startup -i -S <fname> -u
🌐 ENVIRONMENT 📁 FILES 🔗 SEE ALSO 👤 AUTHORS ©️ COPYRIGHT

Generated by phpman v4.9.26-5-g7740029 Author: Che Dong Under GNU General Public License
2026-08-16 09:20 @2600:1f28:365:80b0:7cb9:fb:26c1:e368
CrawledBy CCBot/2.0 (https://commoncrawl.org/faq/)
Valid XHTML 1.0 Transitional!Valid CSS!