apt-cache - APT package handling utility -- cache manipulator
apt-cache [ -hvs ] [ -o=config string ] [ -c=file ] [ add file...
] [ gencaches ] [ showpkg pkg... ] [ stats ] [ dump ] [ dumpavail
] [ unmet ] [ search regex ] [ show pkg... ] [ showpkg pkg... ]
[ depends pkg... ] [ pkgnames prefix ] [ dotty pkg... ] [ policy
apt-cache performs a variety of operations on APT's package cache. apt-
cache does not manipulate the state of the system but does provide
operations to search and generate interesting output from the package
Unless the -h, or --help option is given one of the commands below must
add add adds the names package index files to the package cache.
gencaches performs the same opration as apt-get check. It builds
the source and package caches from the sources in
sources.list(5) and from /var/lib/dpkg/status.
showpkg displays information about the packages listed on the
command line. Remaining arguments are package names. The available
versions and reverse dependencies of each package listed
are listed, as well as forward dependencies for each version.
Forward (normal) dependencies are those packages upon which the
package in question depends; reverse dependencies are those
packages that depend upon the package in question. Thus, forward
dependencies must be satisfied for a package, but reverse dependencies
need not be. For instance, apt-cache showpkg libread-
line2 would produce output similar to the following:
2.1-12 - libc5 (2 5.4.0-0) ncurses3.0 (0 (null))
Thus it may be seen that libreadline2, version 2.1-12, depends
on libc5 and ncurses3.0 which must be installed for libreadline2
to work. In turn, libreadlineg2 and libreadline2-altdev depend
on libreadline2. If libreadline2 is installed, libc5,
ncurses3.0, and ldso must also be installed; libreadlineg2 and
libreadline2-altdev do not have to be installed. For the specific
meaning of the remainder of the output it is best to consult
the apt source code.
stats stats displays some statistics about the cache. No further
arguments are expected. Statistics reported are:
o Total package names is the number of package names found in
o Normal packages is the number of regular, ordinary package
names; these are packages that bear a one-to-one correspondence
between their names and the names used by other packages
for them in dependencies. The majority of packages fall into
o Pure virtual packages is the number of packages that exist
only as a virtual package name; that is, packages only "provide"
the virtual package name, and no package actually uses
the name. For instance, "mail-transport-agent" in the Debian
GNU/Linux system is a pure virtual package; several packages
provide "mail-transport-agent", but there is no package named
o Single virtual packages is the number of packages with only
one package providing a particular virtual package. For example,
in the Debian GNU/Linux system, "X11-text-viewer" is a
virtual package, but only one package, xless, provides
o Mixed virtual packages is the number of packages that either
provide a particular virtual package or have the virtual package
name as the package name. For instance, in the Debian
GNU/Linux system, debconf is both an actual package, and provided
by the debconf-tiny package.
o Missing is the number of package names that were referenced in
a dependency but were not provided by any package. Missing
packages may be in evidence if a full distribution is not
accesssed, or if a package (real or virtual) has been dropped
from the distribution. Usually they are referenced from Conflicts
o Total distinct versions is the number of package versions
found in the cache; this value is therefore at least equal to
the number of total package names. If more than one distribution
(both "stable" and "unstable", for instance), is being
accessed, this value can be considerably larger than the number
of total package names.
o Total dependencies is the number of dependency relationships
claimed by all of the packages in the cache.
dump dump shows a short listing of every package in the cache. It is
primarily for debugging.
dumpavail prints out an available list to stdout. This is suitable
for use with dpkg(8) and is used by the dselect(8) method.
unmet unmet displays a summary of all unmet dependencies in the package
show show performs a function similar to dpkg --print-avail, it displays
the package records for the named packages.
search search performs a full text search on all available package
files for the regex pattern given. It searchs the package names
and the descriptions for an occurance of the string and prints
out the package name and the short description. If --full is
given then output identical to show is produced for each matched
package and if --names-only is given then the long description
is not searched, only the package name is.
Seperate arguments can be used to specified multiple search patterns
that are and'd together.
depends shows a listing of each dependency a package has and all
the possible other packages that can fullfill that dependency.
This command prints the name of each package in the system. The
optional argument is a prefix match to filter the name list. The
output is suitable for use in a shell tab complete function and
the output is generated extremly quickly. This command is best
used with the --generate option.
dotty dotty takes a list of packages on the command line and gernerates
output suitable for use by dotty from the GraphVis
The result will be a set of nodes and edges representing the
relationships between the packages. By default the given packages
will trace out all dependent packages which can produce a
very large graph. This can be turned off by setting the
The resulting nodes will have several shapse, normal packages
are boxes, pure provides are triangles, mixed provides are diamonds,
hexagons are missing packages. Orange boxes mean recursion
was stopped [leaf packages], blue lines are prre-depends,
green lines are conflicts.
Caution, dotty cannot graph larger sets of packages.
policy policy is ment to help debug issues relating to the preferences
file. With no arguments it will print out the priorities of each
source. Otherwise it prints out detailed information about the
priority selection of the named package.
All command line options may be set using the configuration file, the
descriptions indicate the configuration option to set. For boolean
options you can override the config file by using something like
-f-,--no-f, -f=no or several other variations.
Select the file to store the package cache. The package cache is
the primary cache used by all operations. Configuration Item:
Select the file to store the source cache. The source is used
only by gencaches and it stores a parsed version of the package
information from remote sources. When building the package cache
the source cache is used to advoid reparsing all of the package
files. Configuration Item: Dir::Cache::srcpkgcache.
Quiet; produces output suitable for logging, omitting progress
indicators. More qs will produce more quite up to a maximum of
2. You can also use -q=# to set the quiet level, overriding the
configuration file. Configuration Item: quiet.
Print only important deps; for use with unmet causes only
Depends and Pre-Depends relations to be printed. Configuration
--full Print full package records when searching. Configuration Item:
Print full records for all available versions, this is only
applicable to the show command. Configuration Item:
Perform automatic package cache regeneration, rather than use
the cache as it is. This is the default, to turn it off use
--no-generate. Configuration Item: APT::Cache::Generate.
Only search on the package names, not the long description.
Configuration Item: APT::Cache::NamesOnly.
Make pkgnames print all names, including virtual packages and
missing dependencies. Configuration Item: APT::Cache::AllNames.
Make depends recursive so that all packages mentioned are
printed once. Configuration Item: APT::Cache::RecurseDepends.
--help Show a short usage summary.
Show the program verison.
Configuration File; Specify a configuration file to use. The
program will read the default configuration file and then this
configuration file. See apt.conf(5) for syntax information.
Set a Configuration Option; This will set an arbitary configuration
option. The syntax is -o Foo::Bar=bar.
locations to fetch packages from. Configuration Item:
storage area for state information for each package resource
specified in sources.list(5) Configuration Item:
storage area for state information in transit. Configuration
Item: Dir::State::Lists (implicit partial).
apt.conf(5), sources.list(5), apt-get(8)
apt-cache returns zero on normal operation, decimal 100 on error.
See the APT bug page <URL:http://bugs.debian.org/apt>. If you wish to
report a bug in APT, please see /usr/share/doc/debian/bug-reporting.txt
or the bug(1) command.
APT was written by the APT team <email@example.com>.
12 March 2001 APT-CACHE(8)
[ Back ]