aptitude — high-level interface to the package manager
aptitude
[options
...] { autoclean | clean | forget-new | keep-all | update | upgrade }
aptitude
[options
...] { changelog | dist-upgrade | download | forbid-version | hold | install | keep-all | markauto | purge | reinstall | remove | show | unhold | unmarkauto } packages
...
aptitude
[options
...] search patterns
...
aptitude
[-S fname
] [ -u | -i ]
aptitude
help
aptitude is a text-based interface to the Debian GNU/Linux package system.
It allows the user to view the list of packages and to perform package management tasks such as installing, upgrading, and removing packages. Actions may be performed from a visual interface or from the command-line.
The first argument which does not begin with a hyphen (“-
”)
is considered to be an action that the program should
perform. If an action is not specified on the command-line,
aptitude will start up in visual mode.
The following actions are available:
install
Install one or more packages. The packages should be
listed after the “install” command; if a
package name contains a tilde character
(“~
”), it will be
treated as a search pattern and every package matching
the pattern will be installed (see the section “Search
Patterns” in the aptitude reference
manual).
To select a particular version of the package, append “=
”
to the package name: for instance, “version
aptitude install
apt=0.3.1
”. Similarly, to select a
package from a particular archive, append “/
”
to the package name: for instance, “archive
aptitude install
apt/experimental
”.
Not every package listed on the command line has to be
installed; you can tell aptitude to do something
different with a package by appending an “override
specifier” to the name of the package. For
example, aptitude remove wesnoth+
will
install wesnoth
, not remove it. The
following override specifiers are available:
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 “hold” (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, “install
” with no
arguments will act on any stored/pending actions.
![]() | Note |
---|---|
Once you enter |
remove
, purge
, hold
, unhold
, keep
, reinstall
These commands are the same as
“install
”, but apply the
named action to all packages given on the command line for
which it is not overridden. The
difference between hold
and
keep
is that hold
will cause a package to be ignored by future
upgrade
commands, while
keep
merely cancels any scheduled
actions on the package. unhold
will
cause a package to be upgraded by future
upgrade
commands, without otherwise
altering its state.
For instance, “aptitude remove
'~ndeity'
” will remove all packages
whose name contains “deity
”.
markauto
, unmarkauto
Mark packages as automatically installed or manually
installed, respectively. Packages are specified in
exactly the same way as for the “install
” command.
For instance, “aptitude markauto
'~slibs'
” will mark all packages in
the “libs
” section as
having been automatically installed.
For more information on automatically installed packages, see the section “Managing Automatically Installed Packages” 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 “=
”
to the package name: for instance, “version
aptitude forbid-version
vim=1.2.3.broken-4
”.
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 “install
” command will
remove the ban.
update
Updates the list of available packages from the apt
sources (this is equivalent to “apt-get
update
”)
upgrade
Upgrades installed packages to their most recent version. Installed packages will not be removed unless they are unused (see the section “Managing Automatically Installed Packages” in the aptitude reference manual); packages which are not currently installed will not be installed.
If a package cannot be upgraded without violating these
constraints, it will be kept at its current version. Use
the dist-upgrade
command to upgrade these packages as well.
dist-upgrade
Upgrades installed packages to their most recent version,
removing or installing packages as necessary. This
command is less conservative than
upgrade
and thus more likely to perform
unwanted actions. Users are advised to either use
upgrade
instead or to carefully inspect
the list of packages to be installed and removed.
keep-all
Cancels all scheduled actions on all packages; any packages whose sticky state indicates an installation, removal, or upgrade will have this sticky state cleared.
forget-new
Forgets all internal information about what packages are “new” (equivalent to pressing “f” when in visual mode).
search
Searches for packages matching one of the patterns
supplied on the command line. All packages which
match any of the given patterns will be displayed; for
instance, “aptitude search
'~N'
” will list all “new” packages. For more information on
search patterns, see the section “Search
Patterns” 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 “Accessing Package Information” 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
(“~
”), it will be
treated as a search pattern and all matching packages
will be displayed (see the section “Search
Patterns” 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 “candidate version” (the version
that “aptitude install
”
would download) is displayed.
You can display information about a different version of
the package by appending
=
to
the package name; you can display the version from a
particular archive by appending
version
/
to
the package name. If either of these is present, then
only the version you request will be displayed, regardless
of the verbosity level.
archive
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.
clean
Removes all previously downloaded .deb
files from the package cache
directory (usually /var/cache/apt/archives
).
autoclean
Removes any cached packages which can no longer be downloaded. This allows you to prevent a cache from growing out of control over time without completely emptying it.
changelog
Downloads and displays the Debian changelog for each of the given source or binary packages.
By default, the changelog for the version which would be
installed with “aptitude
install
” is downloaded. You can select a
particular version of a package by appending =
to
the package name; you can select the version from a
particular archive by appending version
/
to
the package name.
archive
download
Downloads the .deb
file for the given
package to the current directory.
By default, the version which would be installed with
“aptitude install
” is
downloaded. You can select a particular version of a
package by appending =
to
the package name; you can select the version from a
particular archive by appending version
/
to
the package name.
archive
help
Displays a brief summary of the available commands and 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
, 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 “%p %V %v
”
for format
will display a package's name,
followed by its currently installed version and its
available version (see the section “Customizing how packages are displayed” 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
“-o Aptitude::Purge-Unused=true
”
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
).
This corresponds to the configuration option Aptitude::Recommends-Important
-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, “aptitude -t
experimental ...
” will install
packages from the experimental distribution unless you
specify otherwise. For the command-line actions “changelog”, “download”, and “show”,
this is equivalent to appending /
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).
release
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 “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).
-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 “Configuration file
reference” 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 =
may be used to directly set the amount of quietness (for
instance, to override a setting in n
/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 “yes”. In particular,
suppresses the prompt that appears when installing,
upgrading, or removing packages. Prompts for “dangerous” actions, such as removing
essential packages, will still be displayed. This
option overrides -P
.
This corresponds to the configuration option Aptitude::CmdLine::Assume-Yes
.
-Z
Show how much disk space will be used or freed by the individual packages being installed, upgraded, or removed.
This corresponds to the configuration option Aptitude::CmdLine::Show-Size-Changes
.
The following options apply to the visual mode of the program, but are primarily for internal use; you generally won't need to use them yourself.
-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 “g”). You
cannot use this option and “-u
” at the same time.
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 “aptitude
changelog
” 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
.