| 1 | <?xml version="1.0" encoding="utf-8" standalone="no"?> |
| 2 | <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" |
| 3 | "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ |
| 4 | |
| 5 | <!ENTITY % aptent SYSTEM "apt.ent"> |
| 6 | %aptent; |
| 7 | |
| 8 | <!ENTITY % aptverbatiment SYSTEM "apt-verbatim.ent"> |
| 9 | %aptverbatiment; |
| 10 | |
| 11 | <!ENTITY % aptvendor SYSTEM "apt-vendor.ent"> |
| 12 | %aptvendor; |
| 13 | ]> |
| 14 | |
| 15 | <refentry> |
| 16 | |
| 17 | <refentryinfo> |
| 18 | &apt-author.jgunthorpe; |
| 19 | &apt-author.team; |
| 20 | &apt-email; |
| 21 | &apt-product; |
| 22 | <!-- The last update date --> |
| 23 | <date>2012-06-09T00:00:00Z</date> |
| 24 | </refentryinfo> |
| 25 | |
| 26 | <refmeta> |
| 27 | <refentrytitle>apt-cache</refentrytitle> |
| 28 | <manvolnum>8</manvolnum> |
| 29 | <refmiscinfo class="manual">APT</refmiscinfo> |
| 30 | </refmeta> |
| 31 | |
| 32 | <!-- Man page title --> |
| 33 | <refnamediv> |
| 34 | <refname>apt-cache</refname> |
| 35 | <refpurpose>query the APT cache</refpurpose> |
| 36 | </refnamediv> |
| 37 | |
| 38 | &synopsis-command-apt-cache; |
| 39 | |
| 40 | <refsect1><title>Description</title> |
| 41 | <para><command>apt-cache</command> performs a variety of operations on APT's package |
| 42 | cache. <command>apt-cache</command> does not manipulate the state of the system |
| 43 | but does provide operations to search and generate interesting output |
| 44 | from the package metadata.</para> |
| 45 | |
| 46 | <para>Unless the <option>-h</option>, or <option>--help</option> option is given, one of the |
| 47 | commands below must be present.</para> |
| 48 | |
| 49 | <variablelist> |
| 50 | <varlistentry><term><option>gencaches</option></term> |
| 51 | <listitem><para><literal>gencaches</literal> creates APT's package cache. This is done |
| 52 | implicitly by all commands needing this cache if it is missing or outdated.</para></listitem> |
| 53 | </varlistentry> |
| 54 | |
| 55 | <varlistentry><term><option>showpkg</option> <option><replaceable>&synopsis-pkg;</replaceable>…</option></term> |
| 56 | <listitem><para><literal>showpkg</literal> displays information about the packages listed on the |
| 57 | command line. Remaining arguments are package names. The available |
| 58 | versions and reverse dependencies of each package listed are listed, as |
| 59 | well as forward dependencies for each version. Forward (normal) |
| 60 | dependencies are those packages upon which the package in question |
| 61 | depends; reverse dependencies are those packages that depend upon the |
| 62 | package in question. Thus, forward dependencies must be satisfied for a |
| 63 | package, but reverse dependencies need not be. |
| 64 | For instance, <command>apt-cache showpkg libreadline2</command> would produce |
| 65 | output similar to the following:</para> |
| 66 | |
| 67 | <informalexample><programlisting> |
| 68 | Package: libreadline2 |
| 69 | Versions: 2.1-12(/var/state/apt/lists/foo_Packages), |
| 70 | Reverse Depends: |
| 71 | libreadlineg2,libreadline2 |
| 72 | libreadline2-altdev,libreadline2 |
| 73 | Dependencies: |
| 74 | 2.1-12 - libc5 (2 5.4.0-0) ncurses3.0 (0 (null)) |
| 75 | Provides: |
| 76 | 2.1-12 - |
| 77 | Reverse Provides: |
| 78 | </programlisting></informalexample> |
| 79 | |
| 80 | <para>Thus it may be seen that libreadline2, version 2.1-12, depends on |
| 81 | libc5 and ncurses3.0 which must be installed for libreadline2 to work. |
| 82 | In turn, libreadlineg2 and libreadline2-altdev depend on libreadline2. If |
| 83 | libreadline2 is installed, libc5 and ncurses3.0 (and ldso) must also be |
| 84 | installed; libreadlineg2 and libreadline2-altdev do not have to be |
| 85 | installed. For the specific meaning of the remainder of the output it |
| 86 | is best to consult the apt source code.</para></listitem> |
| 87 | </varlistentry> |
| 88 | |
| 89 | <varlistentry><term><option>stats</option></term><listitem><para><literal>stats</literal> displays some statistics about the cache. |
| 90 | No further arguments are expected. Statistics reported are: |
| 91 | <itemizedlist> |
| 92 | <listitem><para><literal>Total package names</literal> is the number of package names found |
| 93 | in the cache.</para> |
| 94 | </listitem> |
| 95 | |
| 96 | <listitem><para><literal>Normal packages</literal> is the number of regular, ordinary package |
| 97 | names; these are packages that bear a one-to-one correspondence between |
| 98 | their names and the names used by other packages for them in |
| 99 | dependencies. The majority of packages fall into this category.</para> |
| 100 | </listitem> |
| 101 | |
| 102 | <listitem><para><literal>Pure virtual packages</literal> is the number of packages that exist |
| 103 | only as a virtual package name; that is, packages only "provide" the |
| 104 | virtual package name, and no package actually uses the name. For |
| 105 | instance, "mail-transport-agent" in the Debian system is a |
| 106 | pure virtual package; several packages provide "mail-transport-agent", |
| 107 | but there is no package named "mail-transport-agent".</para> |
| 108 | </listitem> |
| 109 | |
| 110 | <listitem><para><literal>Single virtual packages</literal> is the number of packages with only |
| 111 | one package providing a particular virtual package. For example, in the |
| 112 | Debian system, "X11-text-viewer" is a virtual package, but |
| 113 | only one package, xless, provides "X11-text-viewer".</para> |
| 114 | </listitem> |
| 115 | |
| 116 | <listitem><para><literal>Mixed virtual packages</literal> is the number of packages that either |
| 117 | provide a particular virtual package or have the virtual package name |
| 118 | as the package name. For instance, in the Debian system, |
| 119 | "debconf" is both an actual package, and provided by the debconf-tiny |
| 120 | package.</para> |
| 121 | </listitem> |
| 122 | |
| 123 | <listitem><para><literal>Missing</literal> is the number of package names that were referenced in |
| 124 | a dependency but were not provided by any package. Missing packages may |
| 125 | be an evidence if a full distribution is not accessed, or if a package |
| 126 | (real or virtual) has been dropped from the distribution. Usually they |
| 127 | are referenced from Conflicts or Breaks statements.</para> |
| 128 | </listitem> |
| 129 | |
| 130 | <listitem><para><literal>Total distinct</literal> versions is the number of package versions |
| 131 | found in the cache; this value is therefore at least equal to the |
| 132 | number of total package names. If more than one distribution is being accessed |
| 133 | (for instance, "stable" and "unstable"), this value |
| 134 | can be considerably larger than the number of total package names.</para> |
| 135 | </listitem> |
| 136 | |
| 137 | <listitem><para><literal>Total dependencies</literal> is the number of dependency relationships |
| 138 | claimed by all of the packages in the cache.</para> |
| 139 | </listitem> |
| 140 | </itemizedlist> |
| 141 | </para></listitem> |
| 142 | </varlistentry> |
| 143 | |
| 144 | <varlistentry><term><option>showsrc</option> <option><replaceable>&synopsis-pkg;</replaceable>…</option></term> |
| 145 | <listitem><para><literal>showsrc</literal> displays all the source package records that match |
| 146 | the given package names. All versions are shown, as well as all |
| 147 | records that declare the name to be a binary package.</para></listitem> |
| 148 | </varlistentry> |
| 149 | |
| 150 | <varlistentry><term><option>dump</option></term> |
| 151 | <listitem><para><literal>dump</literal> shows a short listing of every package in the cache. It is |
| 152 | primarily for debugging.</para></listitem> |
| 153 | </varlistentry> |
| 154 | |
| 155 | <varlistentry><term><option>dumpavail</option></term> |
| 156 | <listitem><para><literal>dumpavail</literal> prints out an available list to stdout. This is |
| 157 | suitable for use with &dpkg; and is used by the &dselect; method.</para></listitem> |
| 158 | </varlistentry> |
| 159 | |
| 160 | <varlistentry><term><option>unmet</option></term> |
| 161 | <listitem><para><literal>unmet</literal> displays a summary of all unmet dependencies in the |
| 162 | package cache.</para></listitem> |
| 163 | </varlistentry> |
| 164 | |
| 165 | <varlistentry><term><option>show</option> <option><replaceable>&synopsis-pkg;</replaceable>…</option></term> |
| 166 | <listitem><para><literal>show</literal> performs a function similar to |
| 167 | <command>dpkg --print-avail</command>; it displays the package records for the |
| 168 | named packages.</para></listitem> |
| 169 | </varlistentry> |
| 170 | |
| 171 | <varlistentry><term><option>search</option> <option><replaceable>&synopsis-regex;</replaceable>…</option></term> |
| 172 | <listitem><para><literal>search</literal> performs a full text search on all available package |
| 173 | lists for the POSIX regex pattern given, see ®ex;. |
| 174 | It searches the package names and the |
| 175 | descriptions for an occurrence of the regular expression and prints out |
| 176 | the package name and the short description, including virtual package |
| 177 | names. |
| 178 | If <option>--full</option> is given |
| 179 | then output identical to <literal>show</literal> is produced for each matched |
| 180 | package, and if <option>--names-only</option> is given then the long description |
| 181 | is not searched, only the package name is.</para> |
| 182 | <para> |
| 183 | Separate arguments can be used to specify multiple search patterns that |
| 184 | are and'ed together.</para></listitem> |
| 185 | </varlistentry> |
| 186 | |
| 187 | <varlistentry><term><option>depends</option> <option><replaceable>&synopsis-pkg;</replaceable>…</option></term> |
| 188 | <listitem><para><literal>depends</literal> shows a listing of each dependency a package has |
| 189 | and all the possible other packages that can fulfill that dependency.</para></listitem> |
| 190 | </varlistentry> |
| 191 | |
| 192 | <varlistentry><term><option>rdepends</option> <option><replaceable>&synopsis-pkg;</replaceable>…</option></term> |
| 193 | <listitem><para><literal>rdepends</literal> shows a listing of each reverse dependency a |
| 194 | package has.</para></listitem> |
| 195 | </varlistentry> |
| 196 | |
| 197 | <varlistentry><term><option>pkgnames</option> <optional><replaceable>&synopsis-prefix;</replaceable></optional></term> |
| 198 | <listitem><para>This command prints the name of each package APT knows. The optional |
| 199 | argument is a prefix match to filter the name list. The output is suitable |
| 200 | for use in a shell tab complete function and the output is generated |
| 201 | extremely quickly. This command is best used with the |
| 202 | <option>--generate</option> option.</para> |
| 203 | <para>Note that a package which APT knows of is not necessarily available to download, |
| 204 | installable or installed, e.g. virtual packages are also listed in the generated list. |
| 205 | </para></listitem> |
| 206 | </varlistentry> |
| 207 | |
| 208 | <varlistentry><term><option>dotty</option> <option><replaceable>&synopsis-pkg;</replaceable>…</option></term> |
| 209 | <listitem><para><literal>dotty</literal> takes a list of packages on the command line and |
| 210 | generates output suitable for use by dotty from the |
| 211 | <ulink url="http://www.research.att.com/sw/tools/graphviz/">GraphViz</ulink> |
| 212 | package. The result will be a set of nodes and edges representing the |
| 213 | relationships between the packages. By default the given packages will |
| 214 | trace out all dependent packages; this can produce a very large graph. |
| 215 | To limit the output to only the packages listed on the command line, |
| 216 | set the <literal>APT::Cache::GivenOnly</literal> option.</para> |
| 217 | |
| 218 | <para>The resulting nodes will have several shapes; normal packages are boxes, |
| 219 | pure virtual packages are triangles, mixed virtual packages are diamonds, |
| 220 | missing packages are hexagons. Orange boxes mean recursion was stopped |
| 221 | (leaf packages), blue lines are pre-depends, green lines are conflicts.</para> |
| 222 | |
| 223 | <para>Caution, dotty cannot graph larger sets of packages.</para></listitem> |
| 224 | </varlistentry> |
| 225 | |
| 226 | <varlistentry><term><option>xvcg</option> <option><replaceable>&synopsis-pkg;</replaceable>…</option></term> |
| 227 | <listitem><para>The same as <literal>dotty</literal>, only for xvcg from the |
| 228 | <ulink url="http://rw4.cs.uni-sb.de/users/sander/html/gsvcg1.html">VCG tool</ulink>. |
| 229 | </para></listitem></varlistentry> |
| 230 | |
| 231 | <varlistentry><term><option>policy</option> <optional><replaceable>&synopsis-pkg;</replaceable>…</optional></term> |
| 232 | <listitem><para><literal>policy</literal> is meant to help debug issues relating to the |
| 233 | preferences file. With no arguments it will print out the |
| 234 | priorities of each source. Otherwise it prints out detailed information |
| 235 | about the priority selection of the named package.</para></listitem> |
| 236 | </varlistentry> |
| 237 | |
| 238 | <varlistentry><term><option>madison</option> <option><replaceable>&synopsis-pkg;</replaceable>…</option></term> |
| 239 | <listitem><para><literal>apt-cache</literal>'s <literal>madison</literal> command attempts to mimic |
| 240 | the output format and a subset of the functionality of the Debian |
| 241 | archive management tool, <literal>madison</literal>. It displays |
| 242 | available versions of a package in a tabular format. Unlike the |
| 243 | original <literal>madison</literal>, it can only display information for |
| 244 | the architecture for which APT has retrieved package lists |
| 245 | (<literal>APT::Architecture</literal>).</para></listitem> |
| 246 | </varlistentry> |
| 247 | </variablelist> |
| 248 | </refsect1> |
| 249 | |
| 250 | <refsect1><title>options</title> |
| 251 | &apt-cmdblurb; |
| 252 | |
| 253 | <variablelist> |
| 254 | <varlistentry><term><option>-p</option></term><term><option>--pkg-cache</option></term> |
| 255 | <listitem><para>Select the file to store the package cache. The package cache is the |
| 256 | primary cache used by all operations. |
| 257 | Configuration Item: <literal>Dir::Cache::pkgcache</literal>.</para></listitem> |
| 258 | </varlistentry> |
| 259 | |
| 260 | <varlistentry><term><option>-s</option></term><term><option>--src-cache</option></term> |
| 261 | <listitem><para>Select the file to store the source cache. The source is used only by |
| 262 | <literal>gencaches</literal> and it stores a parsed version of the package |
| 263 | information from remote sources. When building the package cache the |
| 264 | source cache is used to avoid reparsing all of the package files. |
| 265 | Configuration Item: <literal>Dir::Cache::srcpkgcache</literal>.</para></listitem> |
| 266 | </varlistentry> |
| 267 | |
| 268 | <varlistentry><term><option>-q</option></term><term><option>--quiet</option></term> |
| 269 | <listitem><para>Quiet; produces output suitable for logging, omitting progress indicators. |
| 270 | More q's will produce more quietness up to a maximum of 2. You can also use |
| 271 | <option>-q=#</option> to set the quietness level, overriding the configuration file. |
| 272 | Configuration Item: <literal>quiet</literal>.</para></listitem> |
| 273 | </varlistentry> |
| 274 | |
| 275 | <varlistentry><term><option>-i</option></term><term><option>--important</option></term> |
| 276 | <listitem><para>Print only important dependencies; for use with <literal>unmet</literal> |
| 277 | and <literal>depends</literal>. Causes only Depends and |
| 278 | Pre-Depends relations to be printed. |
| 279 | Configuration Item: <literal>APT::Cache::Important</literal>.</para></listitem> |
| 280 | </varlistentry> |
| 281 | |
| 282 | <varlistentry><term><option>--no-pre-depends</option></term> |
| 283 | <term><option>--no-depends</option></term> |
| 284 | <term><option>--no-recommends</option></term> |
| 285 | <term><option>--no-suggests</option></term> |
| 286 | <term><option>--no-conflicts</option></term> |
| 287 | <term><option>--no-breaks</option></term> |
| 288 | <term><option>--no-replaces</option></term> |
| 289 | <term><option>--no-enhances</option></term> |
| 290 | <listitem><para>Per default the <literal>depends</literal> and |
| 291 | <literal>rdepends</literal> print all dependencies. This can be tweaked with |
| 292 | these flags which will omit the specified dependency type. |
| 293 | Configuration Item: <literal>APT::Cache::Show<replaceable>DependencyType</replaceable></literal> |
| 294 | e.g. <literal>APT::Cache::ShowRecommends</literal>.</para></listitem> |
| 295 | </varlistentry> |
| 296 | <varlistentry><term><option>-f</option></term><term><option>--full</option></term> |
| 297 | <listitem><para>Print full package records when searching. |
| 298 | Configuration Item: <literal>APT::Cache::ShowFull</literal>.</para></listitem> |
| 299 | </varlistentry> |
| 300 | |
| 301 | <varlistentry><term><option>-a</option></term><term><option>--all-versions</option></term> |
| 302 | <listitem><para>Print full records for all available versions. This is the |
| 303 | default; to turn it off, use <option>--no-all-versions</option>. |
| 304 | If <option>--no-all-versions</option> is specified, only the candidate version |
| 305 | will be displayed (the one which would be selected for installation). |
| 306 | This option is only applicable to the <literal>show</literal> command. |
| 307 | Configuration Item: <literal>APT::Cache::AllVersions</literal>.</para></listitem> |
| 308 | </varlistentry> |
| 309 | |
| 310 | <varlistentry><term><option>-g</option></term><term><option>--generate</option></term> |
| 311 | <listitem><para>Perform automatic package cache regeneration, rather than use the cache |
| 312 | as it is. This is the default; to turn it off, use <option>--no-generate</option>. |
| 313 | Configuration Item: <literal>APT::Cache::Generate</literal>.</para></listitem> |
| 314 | </varlistentry> |
| 315 | |
| 316 | <varlistentry><term><option>--names-only</option></term><term><option>-n</option></term> |
| 317 | <listitem><para>Only search on the package names, not the long descriptions. |
| 318 | Configuration Item: <literal>APT::Cache::NamesOnly</literal>.</para></listitem> |
| 319 | </varlistentry> |
| 320 | |
| 321 | <varlistentry><term><option>--all-names</option></term> |
| 322 | <listitem><para>Make <literal>pkgnames</literal> print all names, including virtual packages |
| 323 | and missing dependencies. |
| 324 | Configuration Item: <literal>APT::Cache::AllNames</literal>.</para></listitem> |
| 325 | </varlistentry> |
| 326 | |
| 327 | <varlistentry><term><option>--recurse</option></term> |
| 328 | <listitem><para>Make <literal>depends</literal> and <literal>rdepends</literal> recursive so |
| 329 | that all packages mentioned are printed once. |
| 330 | Configuration Item: <literal>APT::Cache::RecurseDepends</literal>.</para></listitem> |
| 331 | </varlistentry> |
| 332 | |
| 333 | <varlistentry><term><option>--installed</option></term> |
| 334 | <listitem><para> |
| 335 | Limit the output of <literal>depends</literal> and <literal>rdepends</literal> to |
| 336 | packages which are currently installed. |
| 337 | Configuration Item: <literal>APT::Cache::Installed</literal>.</para></listitem> |
| 338 | </varlistentry> |
| 339 | |
| 340 | &apt-commonoptions; |
| 341 | |
| 342 | </variablelist> |
| 343 | </refsect1> |
| 344 | |
| 345 | <refsect1><title>Files</title> |
| 346 | <variablelist> |
| 347 | &file-sourceslist; |
| 348 | &file-statelists; |
| 349 | </variablelist> |
| 350 | </refsect1> |
| 351 | |
| 352 | <refsect1><title>See Also</title> |
| 353 | <para>&apt-conf;, &sources-list;, &apt-get; |
| 354 | </para> |
| 355 | </refsect1> |
| 356 | |
| 357 | <refsect1><title>Diagnostics</title> |
| 358 | <para><command>apt-cache</command> returns zero on normal operation, decimal 100 on error. |
| 359 | </para> |
| 360 | </refsect1> |
| 361 | |
| 362 | &manbugs; |
| 363 | |
| 364 | </refentry> |