{
    "mode": "man",
    "parameter": "aptitude",
    "section": "8",
    "url": "https://www.chedong.com/phpMan.php/man/aptitude/8/json",
    "generated": "2026-05-30T06:10:32Z",
    "synopsis": "aptitude [<options>...] {autoclean | clean | forget-new | keep-all | update}\naptitude [<options>...] {full-upgrade | safe-upgrade} [<packages>...]\naptitude [<options>...] {build-dep | build-depends | changelog | download | forbid-version |\nhold | install | markauto | purge | reinstall | remove | show | showsrc | source |\nunhold | unmarkauto | versions} <packages>...\naptitude extract-cache-subset <output-directory> <packages>...\naptitude [<options>...] search <patterns>...\naptitude [<options>...] {add-user-tag | remove-user-tag} <tag> <packages>...\naptitude [<options>...] {why | why-not} [<patterns>...] <package>\naptitude [-S <fname>] [--autoclean-on-startup | --clean-on-startup | -i | -u]\naptitude help",
    "sections": {
        "NAME": {
            "content": "aptitude - high-level interface to the package manager\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "aptitude [<options>...] {autoclean | clean | forget-new | keep-all | update}\n\naptitude [<options>...] {full-upgrade | safe-upgrade} [<packages>...]\n\naptitude [<options>...] {build-dep | build-depends | changelog | download | forbid-version |\nhold | install | markauto | purge | reinstall | remove | show | showsrc | source |\nunhold | unmarkauto | versions} <packages>...\n\naptitude extract-cache-subset <output-directory> <packages>...\n\naptitude [<options>...] search <patterns>...\n\naptitude [<options>...] {add-user-tag | remove-user-tag} <tag> <packages>...\n\naptitude [<options>...] {why | why-not} [<patterns>...] <package>\n\naptitude [-S <fname>] [--autoclean-on-startup | --clean-on-startup | -i | -u]\n\naptitude help\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "aptitude is a text-based interface to the Debian GNU/Linux package system.\n\nIt allows the user to view the list of packages and to perform package management tasks such\nas installing, upgrading, and removing packages. Actions may be performed from a visual\ninterface or from the command-line.\n",
            "subsections": []
        },
        "COMMAND-LINE ACTIONS": {
            "content": "The first argument which does not begin with a hyphen (“-”) is considered to be an action\nthat the program should perform. If an action is not specified on the command-line, aptitude\nwill start up in visual mode.\n\nThe following actions are available:\n",
            "subsections": [
                {
                    "name": "install",
                    "content": "Install one or more packages. The packages should be listed after the “install” command;\nif a package name contains a tilde character (“~”) or a question mark (“?”), it will be\ntreated as a search pattern and every package matching the pattern will be installed (see\nthe section “Search Patterns” in the aptitude reference manual).\n\nTo select a particular version of the package, append “=<version>” to the package name:\nfor instance, “aptitude install apt=0.3.1”. Similarly, to select a package from a\nparticular archive, append “/<archive>” to the package name: for instance, “aptitude\ninstall apt/experimental”. You cannot specify both an archive and a version for a\npackage.\n\nNot every package listed on the command line has to be installed; you can tell aptitude\nto do something different with a package by appending an “override specifier” to the name\nof the package. For example, aptitude remove wesnoth+ will install wesnoth, not remove\nit. The following override specifiers are available:\n\n<package>+\nInstall <package>.\n\nIf the package was not installed, it is marked as manually installed, and the\ndependencies newly installed are marked with the automatic flag. If the package or\nthe dependencies were already installed, the automatic flag is preserved. See the\nsection about automatic installations in the documentation for more information.\n\n<package>+M\nInstall <package> and immediately mark it as automatically installed (note that if\nnothing depends on <package>, this will cause it to be immediately removed).\n\n<package>-\nRemove <package>.\n\n<package>\nPurge <package>: remove it and all its associated configuration and data files.\n\n<package>=\nPlace <package> on hold: cancel any active installation, upgrade, or removal, and\nprevent this package from being automatically upgraded in the future.\n\n<package>:\nKeep <package> at its current version: cancel any installation, removal, or upgrade.\nUnlike “hold” (above) this does not prevent automatic upgrades in the future.\n\n<package>&M\nMark <package> as having been automatically installed.\n\n<package>&m\nMark <package> as having been manually installed.\n\n<package>&BD\nInstall the build-dependencies of a <package>.\n\nAs a special case, “install” with no arguments will act on any stored/pending actions.\n\nNote\nOnce you enter Y at the final confirmation prompt, the “install” command will modify\naptitude's stored information about what actions to perform. Therefore, if you issue\n(e.g.) the command “aptitude install foo bar” on packages previously uninstalled, and\nthen the installation fails once aptitude has started downloading and installing\npackages, you will need to run “aptitude remove foo bar” to go back to the previous\nstate (and possibly undo installations or upgrades to other packages that were\naffected by the “install” action).\n\nremove, purge, reinstall\nThese commands are the same as “install”, but apply the named action to all packages\ngiven on the command line for which it is not overridden.\n\nFor instance, “aptitude remove '~ndeity'” will remove all packages whose name contains\n“deity”.\n\nbuild-depends, build-dep\nSatisfy the build-dependencies of a package. Each package name may be a source package,\nin which case the build dependencies of that source package are installed; otherwise,\nbinary packages are found in the same way as for the “install” command, and the\nbuild-dependencies of the source packages that build those binary packages are satisfied.\n\nIf the command-line parameter --arch-only is present, only architecture-dependent build\ndependencies (i.e., not Build-Depends-Indep or Build-Conflicts-Indep) will be obeyed.\n\nmarkauto, unmarkauto\nMark packages as automatically installed or manually installed, respectively. Packages\nare specified in exactly the same way as for the “install” command. For instance,\n“aptitude markauto '~slibs'” will mark all packages in the “libs” section as having been\nautomatically installed.\n\nFor more information on automatically installed packages, see the section “Managing\nAutomatically Installed Packages” in the aptitude reference manual.\n\nhold, unhold, keep\nMark packages to be on hold, remove this property, or set to keep in the current state.\nPackages are specified in exactly the same way as for the “install” command. For\ninstance, “aptitude hold '~e^dpkg$'” will mark all packages coming from the source\npackage “dpkg” to be on hold.\n\nThe difference between hold and keep is that hold will cause a package to be ignored by\nfuture safe-upgrade or full-upgrade commands, while keep merely cancels any scheduled\nactions on the package.  unhold will allow a package to be upgraded by future\nsafe-upgrade or full-upgrade commands, without otherwise altering its state.\n"
                },
                {
                    "name": "keep-all",
                    "content": "Cancels all scheduled actions on all packages; any packages whose sticky state indicates\nan installation, removal, or upgrade will have this sticky state cleared.\n"
                },
                {
                    "name": "forget-new",
                    "content": "Forgets all internal information about what packages are “new” (equivalent to pressing\n“f” when in visual mode).\n\nThis command accepts package names or patterns as arguments. If the string contains a\ntilde character (“~”) or a question mark (“?”), it will be treated as a search pattern\nand every package matching the pattern will be considered (see the section “Search\nPatterns” in the aptitude reference manual).\n"
                },
                {
                    "name": "forbid-version",
                    "content": "Forbid a package from being upgraded to a particular version, while allowing automatic\nupgrades to future versions. This is useful for example to avoid a known broken version\nof a package, without having to set and clear manual holds.\n\nBy default, aptitude will select the forbidden version to be the one which the package\nwould normally be upgraded (the candidate version). This may be overridden by appending\n“=<version>” to the package name: for instance, “aptitude forbid-version\nvim=1.2.3.broken-4”.\n\nTo revert the action, “aptitude install <package>” will remove the ban. To remove the\nforbidden version without installing the candidate version, the current version should be\nappended: “install <package>=<version>”.\n"
                },
                {
                    "name": "update",
                    "content": "Updates the list of available packages from the apt sources (this is equivalent to\n“apt-get update”)\n"
                },
                {
                    "name": "safe-upgrade",
                    "content": "Upgrades installed packages to their most recent version. Installed packages will not be\nremoved unless they are unused (see the section “Managing Automatically Installed\nPackages” in the aptitude reference manual). Packages which are not currently installed\nmay be installed to resolve dependencies unless the --no-new-installs command-line option\nis supplied.\n\nIf no <package>s are listed on the command line, aptitude will attempt to upgrade every\npackage that can be upgraded. Otherwise, aptitude will attempt to upgrade only the\npackages which it is instructed to upgrade. The <package>s can be extended with suffixes\nin the same manner as arguments to aptitude install, so you can also give additional\ninstructions to aptitude here; for instance, aptitude safe-upgrade bash dash- will\nattempt to upgrade the bash package and remove the dash package.\n\nIt is sometimes necessary to remove one package in order to upgrade another; this command\nis not able to upgrade packages in such situations. Use the full-upgrade command to\nupgrade as many packages as possible.\n"
                },
                {
                    "name": "full-upgrade",
                    "content": "Upgrades installed packages to their most recent version, removing or installing packages\nas necessary. It also installs new Essential or Required packages. This command is less\nconservative than safe-upgrade and thus more likely to perform unwanted actions. However,\nit is capable of upgrading packages that safe-upgrade cannot upgrade.\n\nIf no <package>s are listed on the command line, aptitude will attempt to upgrade every\npackage that can be upgraded. Otherwise, aptitude will attempt to upgrade only the\npackages which it is instructed to upgrade. The <package>s can be extended with suffixes\nin the same manner as arguments to aptitude install, so you can also give additional\ninstructions to aptitude here; for instance, aptitude full-upgrade bash dash- will\nattempt to upgrade the bash package and remove the dash package.\n\nNote\nThis command was originally named dist-upgrade for historical reasons, and aptitude\nstill recognizes dist-upgrade as a synonym for full-upgrade.\n"
                },
                {
                    "name": "search",
                    "content": "Searches for packages matching one of the patterns supplied on the command line. All\npackages which match any of the given patterns will be displayed; for instance, “aptitude\nsearch '~N' edit” will list all “new” packages and all packages whose name contains\n“edit”. For more information on search patterns, see the section “Search Patterns” in the\naptitude reference manual.\n\nNote\nIn the example above, “aptitude search '~N' edit” has two arguments after search and\nthus is searching for two patterns: “~N” and “edit”. As described in the search\npattern reference, a single pattern composed of two sub-patterns separated by a space\n(such as “~N edit”) matches only if both patterns match. Thus, the command “aptitude\nsearch '~N edit'” will only show “new” packages whose name contains “edit”.\nUnless you pass the -F option, the output of aptitude search will look something like\nthis:\n\ni   apt                             - Advanced front-end for dpkg\npi  apt-build                       - frontend to apt to build, optimize and in\ncp  apt-file                        - APT package searching utility -- command-\nihA raptor-utils                    - Raptor RDF Parser utilities\n\nEach search result is listed on a separate line. The first character of each line\nindicates the current state of the package: the most common states are p, meaning that no\ntrace of the package exists on the system, c, meaning that the package was deleted but\nits configuration files remain on the system, i, meaning that the package is installed,\nand v, meaning that the package is virtual. The second character indicates the stored\naction (if any; otherwise a blank space is displayed) to be performed on the package,\nwith the most common actions being i, meaning that the package will be installed, d,\nmeaning that the package will be deleted, and p, meaning that the package and its\nconfiguration files will be removed. If the third character is A, the package was\nautomatically installed.\n\nFor a complete list of the possible state and action flags, see the section “Accessing\nPackage Information” in the aptitude reference guide. To customize the output of search,\nsee the command-line options -F and --sort.\n"
                },
                {
                    "name": "show",
                    "content": "Displays detailed information about one or more packages. If a package name contains a\ntilde character (“~”) or a question mark (“?”), it will be treated as a search pattern\nand all matching packages will be displayed (see the section “Search Patterns” in the\naptitude reference manual).\n\nIf the verbosity level is 1 or greater (i.e., at least one -v is present on the\ncommand-line), information about all versions of the package is displayed. Otherwise,\ninformation about the “candidate version” (the version that “aptitude install” would\ndownload) is displayed.\n\nYou can display information about a different version of the package by appending\n=<version> to the package name; you can display the version from a particular archive or\nrelease by appending /<archive> or /<release> to the package name: for instance,\n/unstable or /sid. If either of these is present, then only the version you request will\nbe displayed, regardless of the verbosity level.\n\nIf the verbosity level is 1 or greater, the package's architecture, compressed size,\nfilename, and md5sum fields will be displayed. If the verbosity level is 2 or greater,\nthe select version or versions will be displayed once for each archive in which they are\nfound.\n"
                },
                {
                    "name": "showsrc",
                    "content": "Displays detailed information about one or more source packages.\n\nThis is a thin wrapper over apt(8).\n"
                },
                {
                    "name": "source",
                    "content": "Downloads one or more source packages.\n\nThis is a thin wrapper over apt(8).\n"
                },
                {
                    "name": "versions",
                    "content": "Displays the versions of the packages listed on the command-line.\n\n$ aptitude versions wesnoth\np   1:1.4.5-1                                                             100\np   1:1.6.5-1                                    unstable                 500\np   1:1.7.14-1                                   experimental             1\n\nEach version is listed on a separate line. The leftmost three characters indicate the\ncurrent state, planned state (if any), and whether the package was automatically\ninstalled; for more information on their meanings, see the documentation of aptitude\nsearch. To the right of the version number you can find the releases from which the\nversion is available, and the pin priority of the version.\n\nIf a package name contains a tilde character (“~”) or a question mark (“?”), it will be\ntreated as a search pattern and all matching versions will be displayed (see the section\n“Search Patterns” in the aptitude reference manual). This means that, for instance,\naptitude versions '~i' will display all the versions that are currently installed on the\nsystem and nothing else, not even other versions of the same packages.\n\n$ aptitude versions '~nexim4-daemon-light'\nPackage exim4-daemon-light:\ni   4.71-3                                                                100\np   4.71-4                                       unstable                 500\n\nPackage exim4-daemon-light-dbg:\np   4.71-4                                       unstable                 500\n\nIf the input is a search pattern, or if more than one package's versions are to be\ndisplayed, aptitude will automatically group the output by package, as shown above. You\ncan disable this via --group-by=none, in which case aptitude will display a single list\nof all the versions that were found and automatically include the package name in each\noutput line:\n\n$ aptitude versions --group-by=none '~nexim4-daemon-light'\ni   exim4-daemon-light 4.71-3                                             100\np   exim4-daemon-light 4.71-4                    unstable                 500\np   exim4-daemon-light-dbg 4.71-4                unstable                 500\n\nTo disable the package name, pass --show-package-names=never:\n\n$ aptitude versions --show-package-names=never --group-by=none '~nexim4-daemon-light'\ni   4.71-3                                                                100\np   4.71-4                                       unstable                 500\np   4.71-4                                       unstable                 500\n\nIn addition to the above options, the information printed for each version can be\ncontrolled by the command-line option -F. The order in which versions are displayed can\nbe controlled by the command-line option --sort. To prevent aptitude from formatting the\noutput into columns, use --disable-columns.\n\nadd-user-tag, remove-user-tag\nAdds a user tag to or removes a user tag from the selected group of packages. If a\npackage name contains a tilde (“~”) or question mark (“?”), it is treated as a search\npattern and the tag is added to or removed from all the packages that match the pattern\n(see the section “Search Patterns” in the aptitude reference manual).\n\nUser tags are arbitrary strings associated with a package. They can be used with the\n?user-tag(<tag>) search term, which will select all the packages that have a user tag\nmatching <tag>.\n\nwhy, why-not\nExplains the reason that a particular package should or cannot be installed on the\nsystem.\n\nThis command searches for packages that require or conflict with the given package. It\ndisplays a sequence of dependencies leading to the target package, along with a note\nindicating the installed state of each package in the dependency chain:\n\n$ aptitude why kdepim\ni   nautilus-data Recommends nautilus\ni A nautilus      Recommends desktop-base (>= 0.2)\ni A desktop-base  Suggests   gnome | kde | xfce4 | wmaker\np   kde           Depends    kdepim (>= 4:3.4.3)\n\nThe command why finds a dependency chain that installs the package named on the command\nline, as above. Note that the dependency that aptitude produced in this case is only a\nsuggestion. This is because no package currently installed on this computer depends on or\nrecommends the kdepim package; if a stronger dependency were available, aptitude would\nhave displayed it.\n\nIn contrast, why-not finds a dependency chain leading to a conflict with the target\npackage:\n\n$ aptitude why-not textopo\ni   ocaml-core          Depends   ocamlweb\ni A ocamlweb            Depends   tetex-extra | texlive-latex-extra\ni A texlive-latex-extra Conflicts textopo\n\nIf one or more <pattern>s are present (in addition to the mandatory last argument, which\nshould be a valid <package> name), then aptitude will begin its search at these patterns.\nThat is, the first package in the chain it prints to explain why <package> is or is not\ninstalled, will be a package matching the pattern in question. The patterns are\nconsidered to be package names unless they contain a tilde character (“~”) or a question\nmark (“?”), in which case they are treated as search patterns (see the section “Search\nPatterns” in the aptitude reference manual).\n\nIf no patterns are present, then aptitude will search for dependency chains beginning at\nmanually installed packages. This effectively shows the packages that have caused or\nwould cause a given package to be installed.\n\nNote\naptitude why does not perform full dependency resolution; it only displays direct\nrelationships between packages. For instance, if A requires B, C requires D, and B\nand C conflict, “aptitude why-not D” will not produce the answer “A depends on B, B\nconflicts with C, and D depends on C”.\nBy default aptitude outputs only the “most installed, strongest, tightest, shortest”\ndependency chain. That is, it looks for a chain that only contains packages which are\ninstalled or will be installed; it looks for the strongest possible dependencies under\nthat restriction; it looks for chains that avoid ORed dependencies and Provides; and it\nlooks for the shortest dependency chain meeting those criteria. These rules are\nprogressively weakened until a match is found.\n\nIf the verbosity level is 1 or more, then all the explanations aptitude can find will be\ndisplayed, in inverse order of relevance. If the verbosity level is 2 or more, a truly\nexcessive amount of debugging information will be printed to standard output.\n\nThis command returns 0 if successful, 1 if no explanation could be constructed, and -1 if\nan error occurred.\n"
                },
                {
                    "name": "clean",
                    "content": "Removes all previously downloaded .deb files from the package cache directory (usually\n/var/cache/apt/archives).\n"
                },
                {
                    "name": "autoclean",
                    "content": "Removes any cached packages which can no longer be downloaded. This allows you to prevent\na cache from growing out of control over time without completely emptying it.\n"
                },
                {
                    "name": "changelog",
                    "content": "Downloads and displays the Debian changelog for each of the given source or binary\npackages.\n\nBy default, the changelog for the version which would be installed with “aptitude\ninstall” is downloaded. You can select a particular version of a package by appending\n=<version> to the package name; you can select the version from a particular archive or\nrelease by appending /<archive> or /<release> to the package name (for instance,\n/unstable or /sid).\n"
                },
                {
                    "name": "download",
                    "content": "Downloads the .deb file for the given package to the current directory.\n\nThis is a thin wrapper over apt(8).\n"
                },
                {
                    "name": "extract-cache-subset",
                    "content": "Copy the apt configuration directory (/etc/apt) and a subset of the package database to\nthe specified directory. If no packages are listed, the entire package database is\ncopied; otherwise only the entries corresponding to the named packages are copied. Each\npackage name may be a search pattern, and all the packages matching that pattern will be\nselected (see the section “Search Patterns” in the aptitude reference manual). Any\nexisting package database files in the output directory will be overwritten.\n\nDependencies in binary package stanzas will be rewritten to remove references to packages\nnot in the selected set.\n"
                },
                {
                    "name": "help",
                    "content": "Displays a brief summary of the available commands and options.\n"
                }
            ]
        },
        "OPTIONS": {
            "content": "The following options may be used to modify the behavior of the actions described above. Note\nthat while all options will be accepted for all commands, some options don't apply to\nparticular commands and will be ignored by those commands.\n\n--add-user-tag <tag>\nFor full-upgrade, safe-upgrade, forbid-version, hold, install, keep-all, markauto,\nunmarkauto, purge, reinstall, remove, unhold, and unmarkauto: add the user tag <tag> to\nall packages that are installed, removed, or upgraded by this command as if with the\nadd-user-tag command.\n\n--add-user-tag-to <tag>,<pattern>\nFor full-upgrade, safe-upgrade, forbid-version, hold, install, keep-all, markauto,\nunmarkauto, purge, reinstall, remove, unhold, and unmarkauto: add the user tag <tag> to\nall packages that match <pattern> as if with the add-user-tag command. The pattern is a\nsearch pattern as described in the section “Search Patterns” in the aptitude reference\nmanual.\n\nFor instance, aptitude safe-upgrade --add-user-tag-to \"new-installs,?action(install)\"\nwill add the tag new-installs to all the packages installed by the safe-upgrade command.\n",
            "subsections": [
                {
                    "name": "--allow-new-upgrades",
                    "content": "When the safe resolver is being used (i.e., --safe-resolver was passed, the action is\nsafe-upgrade, or Aptitude::Always-Use-Safe-Resolver is set to true), allow the dependency\nresolver to install upgrades for packages regardless of the value of\nAptitude::Safe-Resolver::No-New-Upgrades.\n",
                    "long": "--allow-new-upgrades"
                },
                {
                    "name": "--allow-new-installs",
                    "content": "Allow the safe-upgrade command to install new packages; when the safe resolver is being\nused (i.e., --safe-resolver was passed, the action is safe-upgrade, or\nAptitude::Always-Use-Safe-Resolver is set to true), allow the dependency resolver to\ninstall new packages. This option takes effect regardless of the value of\nAptitude::Safe-Resolver::No-New-Installs.\n",
                    "long": "--allow-new-installs"
                },
                {
                    "name": "--allow-untrusted",
                    "content": "Install packages from untrusted sources without prompting. You should only use this if\nyou know what you are doing, as it could easily compromise your system's security.\n",
                    "long": "--allow-untrusted"
                },
                {
                    "name": "--disable-columns",
                    "content": "This option causes aptitude search and aptitude versions to output their results without\nany special formatting. In particular: normally aptitude will add whitespace or truncate\nsearch results in an attempt to fit its results into vertical “columns”. With this flag,\neach line will be formed by replacing any format escapes in the format string with the\ncorresponding text; column widths will be ignored.\n\nFor instance, the first few lines of output from “aptitude search -F '%p %V'\n--disable-columns libedataserver” might be:\n\ndisksearch 1.2.1-3\nhp-search-mac 0.1.3\nlibbsearch-ruby 1.5-5\nlibbsearch-ruby1.8 1.5-5\nlibclass-dbi-abstractsearch-perl 0.07-2\nlibdbix-fulltextsearch-perl 0.73-10\n\nAs in the above example, --disable-columns is often useful in combination with a custom\ndisplay format set using the command-line option -F.\n\nThis corresponds to the configuration option Aptitude::CmdLine::Disable-Columns.\n",
                    "long": "--disable-columns"
                },
                {
                    "name": "-D --show-deps",
                    "content": "For commands that will install or remove packages (install, full-upgrade, etc), show\nbrief explanations of automatic installations and removals.\n\nThis corresponds to the configuration option Aptitude::CmdLine::Show-Deps.\n",
                    "flag": "-D",
                    "long": "--show-deps"
                },
                {
                    "name": "-d --download-only",
                    "content": "Download packages to the package cache as necessary, but do not install or remove\nanything. By default, the package cache is stored in /var/cache/apt/archives.\n\nThis corresponds to the configuration option Aptitude::CmdLine::Download-Only.\n",
                    "flag": "-d",
                    "long": "--download-only"
                },
                {
                    "name": "-F --display-format",
                    "content": "Specify the format which should be used to display output from the search and versions\ncommands. For instance, passing “%p %v %V” for <format> will display a package's name,\nfollowed by its currently installed version and its candidate version (see the section\n“Customizing how packages are displayed” in the aptitude reference manual for more\ninformation).\n\nThe command-line option --disable-columns is often useful in combination with -F.\n\nFor search, this corresponds to the configuration option\nAptitude::CmdLine::Package-Display-Format; for versions, this corresponds to the\nconfiguration option Aptitude::CmdLine::Version-Display-Format.\n",
                    "flag": "-F",
                    "long": "--display-format"
                },
                {
                    "name": "-f",
                    "content": "Try hard to fix the dependencies of broken packages, even if it means ignoring the\nactions requested on the command line.\n\nThis corresponds to the configuration item Aptitude::CmdLine::Fix-Broken.\n",
                    "flag": "-f"
                },
                {
                    "name": "--full-resolver",
                    "content": "When package dependency problems are encountered, use the default “full” resolver to\nsolve them. Unlike the “safe” resolver activated by --safe-resolver, the full resolver\nwill happily remove packages to fulfill dependencies. It can resolve more situations than\nthe safe algorithm, but its solutions are more likely to be undesirable.\n\nThis option can be used to force the use of the full resolver even when\nAptitude::Always-Use-Safe-Resolver is true.\n\n--group-by <grouping-mode>\nControl how the versions command groups its output. The following values are recognized:\n\n•   archive to group packages by the archive they occur in (“stable”, “unstable”, etc).\nIf a package occurs in several archives, it will be displayed in each of them.\n\n•   auto to group versions by their package unless there is exactly one argument and it\nis not a search pattern.\n\n•   none to display all the versions in a single list without any grouping.\n\n•   package to group versions by their package.\n\n•   source-package to group versions by their source package.\n\n•   source-version to group versions by their source package and source version.\n\nThis corresponds to the configuration option Aptitude::CmdLine::Versions-Group-By.\n",
                    "long": "--full-resolver"
                },
                {
                    "name": "-h --help",
                    "content": "Display a brief help message. Identical to the help action.\n\n--log-file=<file>\nIf <file> is a nonempty string, log messages will be written to it, except that if <file>\nis “-”, the messages will be written to standard output instead. If this option appears\nmultiple times, the last occurrence is the one that will take effect.\n\nThis does not affect the log of installations that aptitude has performed\n(/var/log/aptitude); the log messages written using this configuration include internal\nprogram events, errors, and debugging messages. See the command-line option --log-level\nto get more control over what gets logged.\n\nThis corresponds to the configuration option Aptitude::Logging::File.\n\n--log-level=<level>, --log-level=<category>:<level>\n--log-level=<level> causes aptitude to only log messages whose level is <level> or\nhigher. For instance, setting the log level to error will cause only messages at the log\nlevels error and fatal to be displayed; all others will be hidden. Valid log levels (in\ndescending order) are off, fatal, error, warn, info, debug, and trace. The default log\nlevel is warn.\n\n--log-level=<category>:<level> causes messages in <category> to only be logged if their\nlevel is <level> or higher.\n\n--log-level may appear multiple times on the command line; the most specific setting is\nthe one that takes effect, so if you pass --log-level=aptitude.resolver:fatal and\n--log-level=aptitude.resolver.hints.match:trace, then messages in\naptitude.resolver.hints.parse will only be printed if their level is fatal, but all\nmessages in aptitude.resolver.hints.match will be printed. If you set the level of the\nsame category two or more times, the last setting is the one that will take effect.\n\nThis does not affect the log of installations that aptitude has performed\n(/var/log/aptitude); the log messages written using this configuration include internal\nprogram events, errors, and debugging messages. See the command-line option --log-file to\nchange where log messages go.\n\nThis corresponds to the configuration group Aptitude::Logging::Levels.\n",
                    "flag": "-h",
                    "long": "--help"
                },
                {
                    "name": "--log-resolver",
                    "content": "Set some standard log levels related to the resolver, to produce logging output suitable\nfor processing with automated tools. This is equivalent to the command-line options\n--log-level=aptitude.resolver.search:trace\n--log-level=aptitude.resolver.search.tiers:info.\n",
                    "long": "--log-resolver"
                },
                {
                    "name": "--no-new-installs",
                    "content": "Prevent safe-upgrade from installing any new packages; when the safe resolver is being\nused (i.e., --safe-resolver was passed or Aptitude::Always-Use-Safe-Resolver is set to\ntrue), forbid the dependency resolver from installing new packages. This option takes\neffect regardless of the value of Aptitude::Safe-Resolver::No-New-Installs.\n\nThis mimics the historical behavior of apt-get upgrade.\n",
                    "long": "--no-new-installs"
                },
                {
                    "name": "--no-new-upgrades",
                    "content": "When the safe resolver is being used (i.e., --safe-resolver was passed or\nAptitude::Always-Use-Safe-Resolver is set to true), forbid the dependency resolver from\ninstalling upgrades for packages regardless of the value of\nAptitude::Safe-Resolver::No-New-Upgrades.\n",
                    "long": "--no-new-upgrades"
                },
                {
                    "name": "--no-show-resolver-actions",
                    "content": "Do not display the actions performed by the “safe” resolver, overriding any configuration\noption or earlier --show-resolver-actions.\n",
                    "long": "--no-show-resolver-actions"
                },
                {
                    "name": "-O --sort",
                    "content": "Specify the order in which output from the search and versions commands should be\ndisplayed. For instance, passing “installsize” for <order> will list packages in order\naccording to their size when installed (see the section “Customizing how packages are\nsorted” in the aptitude reference manual for more information).\n\nPrepending the order keyword with a tilde character (~) reverses the order from ascending\nto descending.\n\nThe default sort order is name,version.\n",
                    "flag": "-O",
                    "long": "--sort"
                },
                {
                    "name": "-o",
                    "content": "Set a configuration file option directly; for instance, use -o Aptitude::Log=/tmp/my-log\nto log aptitude's actions to /tmp/my-log. For more information on configuration file\noptions, see the section “Configuration file reference” in the aptitude reference manual.\n",
                    "flag": "-o"
                },
                {
                    "name": "-P --prompt",
                    "content": "Always display a prompt before downloading, installing or removing packages, even when no\nactions other than those explicitly requested will be performed.\n\nThis corresponds to the configuration option Aptitude::CmdLine::Always-Prompt.\n",
                    "flag": "-P",
                    "long": "--prompt"
                },
                {
                    "name": "--purge-unused",
                    "content": "If Aptitude::Delete-Unused is set to “true” (its default), then in addition to removing\neach package that is no longer required by any installed package, aptitude will also\npurge them, removing their configuration files and perhaps other important data. For more\ninformation about which packages are considered to be “unused”, see the section “Managing\nAutomatically Installed Packages” in the aptitude reference manual.  THIS OPTION CAN\nCAUSE DATA LOSS! DO NOT USE IT UNLESS YOU KNOW WHAT YOU ARE DOING!\n\nThis corresponds to the configuration option Aptitude::Purge-Unused.\n",
                    "long": "--purge-unused"
                },
                {
                    "name": "-q[=< --quiet[=<",
                    "content": "Suppress all incremental progress indicators, thus making the output loggable. This may\nbe supplied multiple times to make the program quieter, but unlike apt-get, aptitude does\nnot enable -y when -q is supplied more than once.\n\nThe optional =<n> may be used to directly set the amount of quietness (for instance, to\noverride a setting in /etc/apt/apt.conf); it causes the program to behave as if -q had\nbeen passed exactly <n> times.\n"
                },
                {
                    "name": "-R --without-recommends",
                    "content": "Do not treat recommendations as dependencies when installing new packages (this overrides\nsettings in /etc/apt/apt.conf and ~/.aptitude/config). Packages previously installed due\nto recommendations will not be removed.\n\nThis corresponds to the pair of configuration options APT::Install-Recommends and\nAPT::AutoRemove::RecommendsImportant.\n",
                    "flag": "-R",
                    "long": "--without-recommends"
                },
                {
                    "name": "-r --with-recommends",
                    "content": "Treat recommendations as dependencies when installing new packages (this overrides\nsettings in /etc/apt/apt.conf and ~/.aptitude/config).\n\nThis corresponds to the configuration option APT::Install-Recommends\n\n--remove-user-tag <tag>\nFor full-upgrade, safe-upgrade forbid-version, hold, install, keep-all, markauto,\nunmarkauto, purge, reinstall, remove, unhold, and unmarkauto: remove the user tag <tag>\nfrom all packages that are installed, removed, or upgraded by this command as if with the\nadd-user-tag command.\n\n--remove-user-tag-from <tag>,<pattern>\nFor full-upgrade, safe-upgrade forbid-version, hold, install, keep-all, markauto,\nunmarkauto, purge, reinstall, remove, unhold, and unmarkauto: remove the user tag <tag>\nfrom all packages that match <pattern> as if with the remove-user-tag command. The\npattern is a search pattern as described in the section “Search Patterns” in the aptitude\nreference manual.\n\nFor instance, aptitude safe-upgrade --remove-user-tag-from\n\"not-upgraded,?action(upgrade)\" will remove the not-upgraded tag from all packages that\nthe safe-upgrade command is able to upgrade.\n",
                    "flag": "-r",
                    "long": "--with-recommends"
                },
                {
                    "name": "-s --simulate",
                    "content": "In command-line mode, print the actions that would normally be performed, but don't\nactually perform them. This does not require root privileges. In the visual interface,\nalways open the cache in read-only mode regardless of whether you are root.\n\nThis corresponds to the configuration option Aptitude::Simulate.\n",
                    "flag": "-s",
                    "long": "--simulate"
                },
                {
                    "name": "--safe-resolver",
                    "content": "When package dependency problems are encountered, use a “safe” algorithm to solve them.\nThis resolver attempts to preserve as many of your choices as possible; it will never\nremove a package or install a version of a package other than the package's default\ncandidate version. It is the same algorithm used in safe-upgrade; indeed, aptitude\n--safe-resolver full-upgrade is equivalent to aptitude safe-upgrade. Because safe-upgrade\nalways uses the safe resolver, it does not accept the --safe-resolver flag.\n\nThis option is equivalent to setting the configuration variable\nAptitude::Always-Use-Safe-Resolver to true.\n",
                    "long": "--safe-resolver"
                },
                {
                    "name": "--schedule-only",
                    "content": "For commands that modify package states, schedule operations to be performed in the\nfuture, but don't perform them. You can execute scheduled actions by running aptitude\ninstall with no arguments. This is equivalent to making the corresponding selections in\nvisual mode, then exiting the program normally.\n\nFor instance, aptitude --schedule-only install evolution will schedule the evolution\npackage for later installation.\n\n--show-package-names <when>\nControls when the versions command shows package names. The following settings are\nallowed:\n\n•   always: display package names every time that aptitude versions runs.\n\n•   auto: display package names when aptitude versions runs if the output is not grouped\nby package, and either there is a pattern-matching argument or there is more than one\nargument.\n\n•   never: never display package names in the output of aptitude versions.\n\nThis option corresponds to the configuration item\nAptitude::CmdLine::Versions-Show-Package-Names.\n",
                    "long": "--schedule-only"
                },
                {
                    "name": "--show-resolver-actions",
                    "content": "Display the actions performed by the “safe” resolver and by safe-upgrade.\n\nWhen executing the command safe-upgrade or when the option --safe-resolver is present,\naptitude will display a summary of the actions performed by the resolver before printing\nthe installation preview. This is equivalent to the configuration option\nAptitude::Safe-Resolver::Show-Resolver-Actions.\n\n--show-summary[=<MODE>]\nChanges the behavior of “aptitude why” to summarize each dependency chain that it\noutputs, rather than displaying it in long form. If this option is present and <MODE> is\nnot “no-summary”, chains that contain Suggests dependencies will not be displayed:\ncombine --show-summary with -v to see a summary of all the reasons for the target package\nto be installed.\n\n<MODE> can be any one of the following:\n\n1. no-summary: don't show a summary (the default behavior if --show-summary is not\npresent).\n\n2. first-package: display the first package in each chain. This is the default value of\n<MODE> if it is not present.\n\n3. first-package-and-type: display the first package in each chain, along with the\nstrength of the weakest dependency in the chain.\n\n4. all-packages: briefly display each chain of dependencies leading to the target\npackage.\n\n5. all-packages-with-dep-versions: briefly display each chain of dependencies leading to\nthe target package, including the target version of each dependency.\n\nThis option corresponds to the configuration item Aptitude::CmdLine::Show-Summary; if\n--show-summary is present on the command-line, it will override\nAptitude::CmdLine::Show-Summary.\n\nExample 12. Usage of --show-summary --show-summary used with -v to display all the\nreasons a package is installed:\n\n$ aptitude -v --show-summary why foomatic-db\nPackages requiring foomatic-db:\ncupsys-driver-gutenprint\nfoomatic-db-engine\nfoomatic-db-gutenprint\nfoomatic-db-hpijs\nfoomatic-filters-ppds\nfoomatic-gui\nkde\nprintconf\nwine\n\n$ aptitude -v --show-summary=first-package-and-type why foomatic-db\nPackages requiring foomatic-db:\n[Depends] cupsys-driver-gutenprint\n[Depends] foomatic-db-engine\n[Depends] foomatic-db-gutenprint\n[Depends] foomatic-db-hpijs\n[Depends] foomatic-filters-ppds\n[Depends] foomatic-gui\n[Depends] kde\n[Depends] printconf\n[Depends] wine\n\n$ aptitude -v --show-summary=all-packages why foomatic-db\nPackages requiring foomatic-db:\ncupsys-driver-gutenprint D: cups-driver-gutenprint D: cups R: foomatic-filters R: foomatic-db-engine D: foomatic-db\nfoomatic-filters-ppds D: foomatic-filters R: foomatic-db-engine D: foomatic-db\nkde 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\nwine D: libwine-print D: cups-bsd R: cups R: foomatic-filters R: foomatic-db-engine D: foomatic-db\nfoomatic-db-engine D: foomatic-db\nfoomatic-db-gutenprint D: foomatic-db\nfoomatic-db-hpijs D: foomatic-db\nfoomatic-gui D: python-foomatic D: foomatic-db-engine D: foomatic-db\nprintconf D: foomatic-db\n\n$ aptitude -v --show-summary=all-packages-with-dep-versions why foomatic-db\nPackages requiring foomatic-db:\ncupsys-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)\nfoomatic-filters-ppds D: foomatic-filters R: foomatic-db-engine (>= 4.0) D: foomatic-db (>= 20090301)\nkde 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)\nwine 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)\nfoomatic-db-engine D: foomatic-db\nfoomatic-db-gutenprint D: foomatic-db\nfoomatic-db-hpijs D: foomatic-db\nfoomatic-gui D: python-foomatic (>= 0.7.9.2) D: foomatic-db-engine D: foomatic-db (>= 20090301)\nprintconf D: foomatic-db\n\n\n--show-summary used to list a chain on one line:\n\n$ aptitude --show-summary=all-packages why aptitude-gtk libglib2.0-data\nPackages requiring libglib2.0-data:\naptitude-gtk D: libglib2.0-0 R: libglib2.0-data\n",
                    "long": "--show-resolver-actions"
                },
                {
                    "name": "-t --target-release",
                    "content": "Set the release from which packages should be installed. For instance, “aptitude -t\nexperimental ...”  will install packages from the experimental distribution unless you\nspecify otherwise.\n\nThis will affect the default candidate version of packages according to the rules\ndescribed in aptpreferences(5).\n\nThis corresponds to the configuration item APT::Default-Release.\n",
                    "flag": "-t",
                    "long": "--target-release"
                },
                {
                    "name": "-V --show-versions",
                    "content": "Show which versions of packages will be installed.\n\nThis corresponds to the configuration option Aptitude::CmdLine::Show-Versions.\n",
                    "flag": "-V",
                    "long": "--show-versions"
                },
                {
                    "name": "-v --verbose",
                    "content": "Causes some commands (for instance, show) to display extra information. This may be\nsupplied multiple times to get more and more information.\n\nThis corresponds to the configuration option Aptitude::CmdLine::Verbose.\n",
                    "flag": "-v",
                    "long": "--verbose"
                },
                {
                    "name": "--version",
                    "content": "Display the version of aptitude and some information about how it was compiled.\n",
                    "long": "--version"
                },
                {
                    "name": "--visual-preview",
                    "content": "When installing or removing packages from the command line, instead of displaying the\nusual prompt, start up the visual interface and display its preview screen.\n",
                    "long": "--visual-preview"
                },
                {
                    "name": "-W --show-why",
                    "content": "In the preview displayed before packages are installed or removed, show which manually\ninstalled package requires each automatically installed package. For instance:\n\n$ aptitude --show-why install mediawiki\n...\nThe following NEW packages will be installed:\nlibapache2-mod-php5{a} (for mediawiki)  mediawiki  php5{a} (for mediawiki)\nphp5-cli{a} (for mediawiki)  php5-common{a} (for mediawiki)\nphp5-mysql{a} (for mediawiki)\n\nWhen combined with -v or a non-zero value for Aptitude::CmdLine::Verbose, this displays\nthe entire chain of dependencies that lead each package to be installed. For instance:\n\n$ aptitude -v --show-why install libdb4.2-dev\nThe following NEW packages will be installed:\nlibdb4.2{a} (libdb4.2-dev D: libdb4.2)  libdb4.2-dev\nThe following packages will be REMOVED:\nlibdb4.4-dev{a} (libdb4.2-dev C: libdb-dev P<- libdb-dev)\n\nThis option will also describe why packages are being removed, as shown above. In this\nexample, libdb4.2-dev conflicts with libdb-dev, which is provided by libdb-dev.\n\nThis argument corresponds to the configuration option Aptitude::CmdLine::Show-Why and\ndisplays the same information that is computed by aptitude why and aptitude why-not.\n",
                    "flag": "-W",
                    "long": "--show-why"
                },
                {
                    "name": "-w --width",
                    "content": "Specify the display width which should be used for output from the search and versions\ncommands (in the command line).\n\nBy default and when the output is seen directly in a terminal, the terminal width is\nused. When the output is redirected or piped, a very large \"unlimited\" line width is\nused, and this option is ignored.\n\nThis corresponds to the configuration option Aptitude::CmdLine::Package-Display-Width\n",
                    "flag": "-w",
                    "long": "--width"
                },
                {
                    "name": "-y --assume-yes",
                    "content": "When a yes/no prompt would be presented, assume that the user entered “yes”. In\nparticular, suppresses the prompt that appears when installing, upgrading, or removing\npackages. Prompts for “dangerous” actions, such as removing essential packages, will\nstill be displayed. This option overrides -P.\n\nThis corresponds to the configuration option Aptitude::CmdLine::Assume-Yes.\n",
                    "flag": "-y",
                    "long": "--assume-yes"
                },
                {
                    "name": "-Z",
                    "content": "Show how much disk space will be used or freed by the individual packages being\ninstalled, upgraded, or removed.\n\nThis corresponds to the configuration option Aptitude::CmdLine::Show-Size-Changes.\n\nThe following options apply to the visual mode of the program, but are primarily for internal\nuse; you generally won't need to use them yourself.\n",
                    "flag": "-Z"
                },
                {
                    "name": "--autoclean-on-startup",
                    "content": "Deletes old downloaded files when the program starts (equivalent to starting the program\nand immediately selecting Actions → Clean obsolete files). You cannot use this option and\n“--clean-on-startup”, “-i”, or “-u” at the same time.\n",
                    "long": "--autoclean-on-startup"
                },
                {
                    "name": "--clean-on-startup",
                    "content": "Cleans the package cache when the program starts (equivalent to starting the program and\nimmediately selecting Actions → Clean package cache). You cannot use this option and\n“--autoclean-on-startup”, “-i”, or “-u” at the same time.\n",
                    "long": "--clean-on-startup"
                },
                {
                    "name": "-i",
                    "content": "Displays a download preview when the program starts (equivalent to starting the program\nand immediately pressing “g”). You cannot use this option and “--autoclean-on-startup”,\n“--clean-on-startup”, or “-u” at the same time.\n",
                    "flag": "-i"
                },
                {
                    "name": "-S",
                    "content": "Loads the extended state information from <fname> instead of the standard state file.\n",
                    "flag": "-S"
                },
                {
                    "name": "-u",
                    "content": "Begins updating the package lists as soon as the program starts. You cannot use this\noption and “--autoclean-on-startup”, “--clean-on-startup”, or “-i” at the same time.\n",
                    "flag": "-u"
                }
            ]
        },
        "ENVIRONMENT": {
            "content": "HOME\nIf $HOME/.aptitude exists, aptitude will store its configuration file in\n$HOME/.aptitude/config. Otherwise, it will look up the current user's home directory\nusing getpwuid(2) and place its configuration file there.\n\nPAGER\nIf this environment variable is set, aptitude will use it to display changelogs when\n“aptitude changelog” is invoked. If not set, it defaults to more.\n\nTMP\nIf TMPDIR is unset, aptitude will store its temporary files in TMP if that variable is\nset. Otherwise, it will store them in /tmp.\n\nTMPDIR\naptitude will store its temporary files in the directory indicated by this environment\nvariable. If TMPDIR is not set, then TMP will be used; if TMP is also unset, then\naptitude will use /tmp.\n",
            "subsections": []
        },
        "FILES": {
            "content": "/var/lib/aptitude/pkgstates\nThe file in which stored package states and some package flags are stored.\n\n/etc/apt/apt.conf, /etc/apt/apt.conf.d/*, ~/.aptitude/config\nThe configuration files for aptitude.  ~/.aptitude/config overrides /etc/apt/apt.conf.\nSee apt.conf(5) for documentation of the format and contents of these files.\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "apt-get(8), apt(8), /usr/share/doc/aptitude/html/<lang>/index.html from the package\naptitude-doc-<lang>\n",
            "subsections": []
        },
        "AUTHORS": {
            "content": "Daniel Burrows <dburrows@debian.org>\nMain author of the document.\n\nManuel A. Fernandez Montecelo <mafm@debian.org>\nMain maintainer after Daniel Burrows, documentation about new features, corrections and\nformatting.\n",
            "subsections": []
        },
        "COPYRIGHT": {
            "content": "Copyright 2004-2011 Daniel Burrows.\n\nCopyright 2014-2016 Manuel A. Fernandez Montecelo\n\nThis manual page is free software; you can redistribute it and/or modify it under the terms\nof the GNU General Public License as published by the Free Software Foundation; either\nversion 2 of the License, or (at your option) any later version.\n\nThis manual page is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;\nwithout even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See\nthe GNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License along with this program; if\nnot, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA\n02110-1301 USA.\n\n\n\n\naptitude 0.8.13                              04/01/2021                                  APTITUDE(8)",
            "subsections": []
        }
    },
    "summary": "aptitude - high-level interface to the package manager",
    "flags": [
        {
            "flag": "",
            "long": "--allow-new-upgrades",
            "arg": null,
            "description": "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."
        },
        {
            "flag": "",
            "long": "--allow-new-installs",
            "arg": null,
            "description": "Allow the safe-upgrade command 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 set to true), allow the dependency resolver to install new packages. This option takes effect regardless of the value of Aptitude::Safe-Resolver::No-New-Installs."
        },
        {
            "flag": "",
            "long": "--allow-untrusted",
            "arg": null,
            "description": "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."
        },
        {
            "flag": "",
            "long": "--disable-columns",
            "arg": null,
            "description": "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. 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 As in the above example, --disable-columns is often useful in combination with a custom display format set using the command-line option -F. This corresponds to the configuration option Aptitude::CmdLine::Disable-Columns."
        },
        {
            "flag": "-D",
            "long": "--show-deps",
            "arg": null,
            "description": "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."
        },
        {
            "flag": "-d",
            "long": "--download-only",
            "arg": null,
            "description": "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."
        },
        {
            "flag": "-F",
            "long": "--display-format",
            "arg": null,
            "description": "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 (see the section “Customizing how packages are displayed” in the aptitude reference manual for more information). The command-line option --disable-columns is often useful in combination with -F. For search, this corresponds to the configuration option Aptitude::CmdLine::Package-Display-Format; for versions, this corresponds to the configuration option Aptitude::CmdLine::Version-Display-Format."
        },
        {
            "flag": "-f",
            "long": null,
            "arg": null,
            "description": "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."
        },
        {
            "flag": "",
            "long": "--full-resolver",
            "arg": null,
            "description": "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: • 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 to group versions by their package unless there is exactly one argument and it is not a search pattern. • none to display all the versions in a single list without any grouping. • package to group versions by their package. • source-package to group versions by their source package. • source-version to group versions by their source package and source version. This corresponds to the configuration option Aptitude::CmdLine::Versions-Group-By."
        },
        {
            "flag": "-h",
            "long": "--help",
            "arg": null,
            "description": "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. 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. 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. --log-level may appear multiple times on the command line; the most specific setting is the one that takes effect, so if you pass --log-level=aptitude.resolver:fatal and --log-level=aptitude.resolver.hints.match:trace, then messages in aptitude.resolver.hints.parse will only be printed if their level is fatal, but all messages in aptitude.resolver.hints.match will be printed. If you set the level of the same category two or more times, the last setting 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-file to change where log messages go. This corresponds to the configuration group Aptitude::Logging::Levels."
        },
        {
            "flag": "",
            "long": "--log-resolver",
            "arg": null,
            "description": "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."
        },
        {
            "flag": "",
            "long": "--no-new-installs",
            "arg": null,
            "description": "Prevent safe-upgrade from installing any 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. This option takes effect regardless of the value of Aptitude::Safe-Resolver::No-New-Installs. This mimics the historical behavior of apt-get upgrade."
        },
        {
            "flag": "",
            "long": "--no-new-upgrades",
            "arg": null,
            "description": "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 upgrades for packages regardless of the value of Aptitude::Safe-Resolver::No-New-Upgrades."
        },
        {
            "flag": "",
            "long": "--no-show-resolver-actions",
            "arg": null,
            "description": "Do not display the actions performed by the “safe” resolver, overriding any configuration option or earlier --show-resolver-actions."
        },
        {
            "flag": "-O",
            "long": "--sort",
            "arg": null,
            "description": "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 (see the section “Customizing how packages are sorted” in the aptitude reference manual for more information). Prepending the order keyword with a tilde character (~) reverses the order from ascending to descending. The default sort order is name,version."
        },
        {
            "flag": "-o",
            "long": null,
            "arg": null,
            "description": "Set a configuration file option directly; for instance, use -o Aptitude::Log=/tmp/my-log to log aptitude's actions to /tmp/my-log. For more information on configuration file options, see the section “Configuration file reference” in the aptitude reference manual."
        },
        {
            "flag": "-P",
            "long": "--prompt",
            "arg": null,
            "description": "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."
        },
        {
            "flag": "",
            "long": "--purge-unused",
            "arg": null,
            "description": "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. For more information about which packages are considered to be “unused”, see the section “Managing Automatically Installed Packages” in the aptitude reference manual. 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."
        },
        {
            "flag": "",
            "long": null,
            "arg": null,
            "description": "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."
        },
        {
            "flag": "-R",
            "long": "--without-recommends",
            "arg": null,
            "description": "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."
        },
        {
            "flag": "-r",
            "long": "--with-recommends",
            "arg": null,
            "description": "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."
        },
        {
            "flag": "-s",
            "long": "--simulate",
            "arg": null,
            "description": "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."
        },
        {
            "flag": "",
            "long": "--safe-resolver",
            "arg": null,
            "description": "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."
        },
        {
            "flag": "",
            "long": "--schedule-only",
            "arg": null,
            "description": "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: • always: display package names every time that aptitude versions runs. • auto: display package names when aptitude versions runs if the output is not grouped by package, and either there is a pattern-matching argument or there is more than one argument. • never: never display package names in the output of aptitude versions. This option corresponds to the configuration item Aptitude::CmdLine::Versions-Show-Package-Names."
        },
        {
            "flag": "",
            "long": "--show-resolver-actions",
            "arg": null,
            "description": "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; if --show-summary is present on the command-line, it will override Aptitude::CmdLine::Show-Summary. 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"
        },
        {
            "flag": "-t",
            "long": "--target-release",
            "arg": null,
            "description": "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 aptpreferences(5). This corresponds to the configuration item APT::Default-Release."
        },
        {
            "flag": "-V",
            "long": "--show-versions",
            "arg": null,
            "description": "Show which versions of packages will be installed. This corresponds to the configuration option Aptitude::CmdLine::Show-Versions."
        },
        {
            "flag": "-v",
            "long": "--verbose",
            "arg": null,
            "description": "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."
        },
        {
            "flag": "",
            "long": "--version",
            "arg": null,
            "description": "Display the version of aptitude and some information about how it was compiled."
        },
        {
            "flag": "",
            "long": "--visual-preview",
            "arg": null,
            "description": "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."
        },
        {
            "flag": "-W",
            "long": "--show-why",
            "arg": null,
            "description": "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."
        },
        {
            "flag": "-w",
            "long": "--width",
            "arg": null,
            "description": "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"
        },
        {
            "flag": "-y",
            "long": "--assume-yes",
            "arg": null,
            "description": "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."
        },
        {
            "flag": "-Z",
            "long": null,
            "arg": null,
            "description": "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."
        },
        {
            "flag": "",
            "long": "--autoclean-on-startup",
            "arg": null,
            "description": "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."
        },
        {
            "flag": "",
            "long": "--clean-on-startup",
            "arg": null,
            "description": "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."
        },
        {
            "flag": "-i",
            "long": null,
            "arg": null,
            "description": "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."
        },
        {
            "flag": "-S",
            "long": null,
            "arg": null,
            "description": "Loads the extended state information from <fname> instead of the standard state file."
        },
        {
            "flag": "-u",
            "long": null,
            "arg": null,
            "description": "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."
        }
    ],
    "examples": [],
    "see_also": [
        {
            "name": "apt-get",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/apt-get/8/json"
        },
        {
            "name": "apt",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/apt/8/json"
        }
    ]
}