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 (lq-rq) 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.
The following actions are available:
install
Install one or more packages. The packages should be listed after the
lqinstallrq
command; if a package name contains a tilde character (lq~rq), it will be treated as a search pattern and every package matching the pattern will be installed (see the section
lqSearch Patternsrq
in the
aptitude
reference manual).
To select a particular version of the package, append
lq=<version>rq
to the package name: for instance,
lqaptitude install apt=0.3.1rq. Similarly, to select a package from a particular archive, append
lq/<archive>rq
to the package name: for instance,
lqaptitude install apt/experimentalrq.
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
lqoverride specifierrq
to the name of the package. For example,
aptitude remove wesnoth+
will install
wesnoth, not remove it. The following override specifiers are available:
<package>+
Install
<package>.
<package>+M
Install
<package>
and immediately mark it as
automatically installed
(note that if nothing depends on
<package>, this will cause it to be immediately removed).
<package>-
Remove
<package>.
<package>_
Purge
<package>: remove it and all its associated configuration and data files.
<package>=
Place
<package>
on hold: cancel any active installation, upgrade, or removal, and prevent this package from being automatically upgraded in the future.
<package>:
Keep
<package>
at its current version: cancel any installation, removal, or upgrade. Unlike
lqholdrq
(above) this does not prevent automatic upgrades in the future.
<package>&M
Mark
<package>
as having been
automatically installed.
<package>&m
Mark
<package>
as having been
manually installed.
As a special case,
lqinstallrq
with no arguments will act on any stored/pending actions.
Note
Once you enter
Y
at the final confirmation prompt, the
lqinstallrq
command will modify
aptitude's stored information about what actions to perform. Therefore, if you issue (e.g.) the command
lqaptitude install foo barrq
and then abort the installation once
aptitude
has started downloading and installing packages, you will need to run
lqaptitude remove foo barrq
to cancel that order.
remove, purge, hold, unhold, keep, reinstall
These commands are the same as
lqinstallrq, but apply the named action to all packages given on the command line for which it is not
overridden. 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.
For instance,
lqaptitude remove '~ndeity'rq
will remove all packages whose name contains
lqdeityrq.
markauto, unmarkauto
Mark packages as automatically installed or manually installed, respectively. Packages are specified in exactly the same way as for the
lqinstallrq
command. For instance,
lqaptitude markauto '~slibs'rq
will mark all packages in the
lqlibsrq
section as having been automatically installed.
For more information on automatically installed packages, see the section
lqManaging Automatically Installed Packagesrq
in the
aptitude
reference manual.
forbid-version
Forbid a package from being upgraded to a particular version. This will prevent aptitude from automatically upgrading to this version, but will allow automatic upgrades to future versions. By default, aptitude will select the version to which the package would normally be upgraded; you may override this selection by appending
lq=<version>rq
to the package name: for instance,
lqaptitude forbid-version vim=1.2.3.broken-4rq.
This command is useful for avoiding broken versions of packages without having to set and clear manual holds. If you decide you really want the forbidden version after all, the
lqinstallrq
command will remove the ban.
update
Updates the list of available packages from the
apt
sources (this is equivalent to
lqapt-get updaterq)
safe-upgrade
Upgrades installed packages to their most recent version. Installed packages will not be removed unless they are unused (see the section
lqManaging Automatically Installed Packagesrq
in the
aptitude
reference manual); packages which are not currently installed will not be installed.
It is sometimes necessary to remove or install 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. 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.
Note
This command was originally named
dist-upgrade
for historical reasons, and
aptitude
still recognizes
dist-upgrade
as a synonym for
full-upgrade.
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
lqnewrq
(equivalent to pressing
lqfrq
when in visual mode).
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,
lqaptitude search '~N' editrq
will list all
lqnewrq
packages and all packages whose name contains
lqeditrq. For more information on search patterns, see the section
lqSearch Patternsrq
in the
aptitude
reference manual.
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, meaning that no trace of the package exists on the system,
c, meaning that the package was deleted but its configuration files remain on the system,
i, meaning that the package is installed, and
v, meaning that the package is virtual. The second character indicates the stored action (if any; otherwise a blank space is displayed) to be performed on the package, with the most common actions being
i, meaning that the package will be installed,
d, meaning that the package will be deleted, and
p, meaning that the package and its configuration files will be removed. If the third character is
A, the package was automatically installed.
For a complete list of the possible state and action flags, see the section
lqAccessing Package Informationrq
in the
aptitude
reference guide.
show
Displays detailed information about one or more packages, listed following the search command. If a package name contains a tilde character (lq~rq), it will be treated as a search pattern and all matching packages will be displayed (see the section
lqSearch Patternsrq
in the
aptitude
reference manual).
If the verbosity level is 1 or greater (i.e., at least one
-v
is present on the command-line), information about all versions of the package is displayed. Otherwise, information about the
lqcandidate versionrq
(the version that
lqaptitude installrq
would download) is displayed.
You can display information about a different version of the package by appending
=<version>
to the package name; you can display the version from a particular archive by appending
/<archive>
to the package name. If either of these is present, then only the version you request will be displayed, regardless of the verbosity level.
If the verbosity level is 1 or greater, the package's architecture, compressed size, filename, and md5sum fields will be displayed. If the verbosity level is 2 or greater, the select version or versions will be displayed once for each archive in which they are found.
why, why-not
Explains the reason that a particular package can 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, as above. Note that the dependency that aptitude produced in this case is only a suggestion. This is because no package installed on my computer depends on or recommends the
kdepim
package; if a stronger dependency were available, aptitude would have displayed it.
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
<patterns>
are present, then aptitude will begin its search at these patterns; that is, the first package in the chain it prints will be a package matching the pattern in question. The patterns are considered to be package names unless they contain a tilde character (~), in which case they are treated as search patterns (see the section
lqSearch Patternsrq
in the
aptitude
reference manual).
If no patterns are present, then
aptitude
will search for dependency chains beginning at manually installed packages.
Note
aptitude why
does not perform full dependency resolution; it only displays direct relationships between packages. For instance, if A requires B, C requires D, and B and C conflict,
lqaptitude why-not Drq
will not produce the answer
lqA depends on B, B conflicts with C, and D depends on Crq.
By default aptitude outputs only the
lqmost installed, strongest, tightest, shortestrq
dependency chain. That is, it looks for a chain that only contains packages which are installed or will be installed; it looks for the strongest possible dependencies under that restriction; it looks for chains that avoid ORed dependencies and Provides; and it looks for the shortest dependency chain meeting those criteria. These rules are progressively weakened until a match is found.
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 occured.
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
lqaptitude installrq
is downloaded. You can select a particular version of a package by appending
=<version>
to the package name; you can select the version from a particular archive by appending
/<archive>
to the package name.
download
Downloads the
.deb
file for the given package to the current directory.
By default, the version which would be installed with
lqaptitude installrq
is downloaded. You can select a particular version of a package by appending
=<version>
to the package name; you can select the version from a particular archive by appending
/<archive>
to the package name.
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.
-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
command. For instance, passing
lq%p %V %vrq
for
<format>
will display a package's name, followed by its currently installed version and its available version (see the section
lqCustomizing how packages are displayedrq
in the
aptitude
reference manual for more information).
This corresponds to the configuration option
Aptitude::CmdLine::Package-Display-Format.
-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.
-h, --help
Display a brief help message. Identical to the
help
action.
--purge-unused
Purge packages that are no longer required by any installed package. This is equivalent to passing
lq-o Aptitude::Purge-Unused=truerq
as a command-line argument.
-P, --prompt
Always display a prompt, even when no actions other than those explicitly requested will be performed.
This corresponds to the configuration option
Aptitude::CmdLine::Always-Prompt.
-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
Aptitude::Recommends-Important
and
Aptitude::Keep-Recommends.
-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
Aptitude::Recommends-Important
-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.
--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.
-t <release>, --target-release <release>
Set the release from which packages should be installed. For instance,
lqaptitude -t experimental ...rq
will install packages from the experimental distribution unless you specify otherwise. For the command-line actions
lqchangelogrq,
lqdownloadrq, and
lqshowrq, this is equivalent to appending
/<release>
to each package named on the command-line; for other commands, 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.
-O <order>, --sort <order>
Specify the order in which output from the
search
command should be displayed. For instance, passing
lqinstallsizerq
for
<order>
will list packages in order according to their size when installed (see the section
lqCustomizing how packages are sortedrq
in the
aptitude
reference manual for more information).
-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. For more information on configuration file options, see the section
lqConfiguration file referencerq
in the
aptitude
reference manual.
-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.
-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 <width>, --width <width>
Specify the display width which should be used for output from the
search
command (by default, the terminal width is used).
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
lqyesrq. In particular, suppresses the prompt that appears when installing, upgrading, or removing packages. Prompts for
lqdangerousrq
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.
-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
-i
at the same time.
-i
Displays a download preview when the program starts (equivalent to starting the program and immediately pressing
lqgrq). You cannot use this option and
lq-urq
at the same time.
ENVIRONMENT
HOME
If $HOME/.aptitude exists, aptitude will store its configuration file in $HOME/.aptitude/config. Otherwise, it will look up the current user's home directory using
getpwuid(2)
and place its configuration file there.
PAGER
If this environment variable is set,
aptitude
will use it to display changelogs when
lqaptitude changelogrq
is invoked. If not set, it defaults to
more.
TMP
If
TMPDIR
is unset,
aptitude
will store its temporary files in
TMP
if that variable is set. Otherwise, it will store them in
/tmp.
TMPDIR
aptitude
will store its temporary files in the directory indicated by this environment variable. If
TMPDIR
is not set, then
TMP
will be used; if
TMP
is also unset, then
aptitude
will use
/tmp.
SEE ALSO
apt-get(8),
apt(8),
/usr/share/doc/aptitude/html/<lang>/index.html
from the package aptitude-doc-<lang>
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.