acquire: Use priority queues and a 3 stage pipeline design
[apt.git] / doc / apt-cache.8.xml
index ab97ebe3f3a5f46e91d227b5e518fb5eba998ffc..57177993146d20889a06d461aac20fccc14e404f 100644 (file)
@@ -1,13 +1,9 @@
 <?xml version="1.0" encoding="utf-8" standalone="no"?>
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
-
-<!ENTITY % aptent SYSTEM "apt.ent">
-%aptent;
-
-<!ENTITY % aptverbatiment SYSTEM "apt-verbatim.ent">
-%aptverbatiment;
-
+<!ENTITY % aptent SYSTEM "apt.ent"> %aptent;
+<!ENTITY % aptverbatiment SYSTEM "apt-verbatim.ent"> %aptverbatiment;
+<!ENTITY % aptvendor SYSTEM "apt-vendor.ent"> %aptvendor;
 ]>
 
 <refentry>
@@ -18,7 +14,7 @@
    &apt-email;
    &apt-product;
    <!-- The last update date -->
-   <date>2012-05-21T00:00:00Z</date>
+   <date>2016-08-17T00:00:00Z</date>
  </refentryinfo>
  
  <refmeta>
  &synopsis-command-apt-cache;
 
  <refsect1><title>Description</title>
-   <para><command>apt-cache</command> performs a variety of operations on APT's package 
-   cache. <command>apt-cache</command> does not manipulate the state of the system 
-   but does provide operations to search and generate interesting output 
-   from the package metadata.</para>
+    <para>
+       <command>apt-cache</command> performs a variety of operations on APT's
+       package cache. <command>apt-cache</command> does not manipulate the
+       state of the system but does provide operations to search and generate
+       interesting output from the package metadata. The metadata is acquired
+       and updated via the 'update' command of e.g. <command>apt-get</command>,
+       so that it can be outdated if the last update is too long ago, but in
+       exchange <command>apt-cache</command> works independently of the
+       availability of the configured sources (e.g. offline).
+    </para>
 
    <para>Unless the <option>-h</option>, or <option>--help</option> option is given, one of the
    commands below must be present.</para>
@@ -100,20 +102,20 @@ Reverse Provides:
        <listitem><para><literal>Pure virtual packages</literal> 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 
+       instance, "mail-transport-agent" in the Debian system is a 
        pure virtual package; several packages provide "mail-transport-agent", 
        but there is no package named "mail-transport-agent".</para>
        </listitem>
    
        <listitem><para><literal>Single virtual packages</literal> 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 
+       Debian system, "X11-text-viewer" is a virtual package, but 
        only one package, xless, provides "X11-text-viewer".</para>
        </listitem>
 
        <listitem><para><literal>Mixed virtual packages</literal> 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, 
+       as the package name. For instance, in the Debian system, 
        "debconf" is both an actual package, and provided by the debconf-tiny
        package.</para>
        </listitem>
@@ -126,9 +128,8 @@ Reverse Provides:
        </listitem>
 
        <listitem><para><literal>Total distinct</literal> 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 
+       found in the cache. If more than one distribution is being accessed
+       (for instance, "stable" and "unstable"), this value
        can be considerably larger than the number of total package names.</para>
        </listitem>
 
@@ -140,9 +141,12 @@ Reverse Provides:
      </varlistentry>
      
      <varlistentry><term><option>showsrc</option> <option><replaceable>&synopsis-pkg;</replaceable>…</option></term>
-     <listitem><para><literal>showsrc</literal> displays all the source package records that match
-     the given package names. All versions are shown, as well as all 
-     records that declare the name to be a Binary.</para></listitem>
+     <listitem><para><literal>showsrc</literal> displays all the
+     source package records that match the given package names. All
+     versions are shown, as well as all records that declare the name
+     to be a binary package. Use <option>--only-source</option> to
+     display only source package names.
+     </para></listitem>
      </varlistentry>
      
      <varlistentry><term><option>dump</option></term>
@@ -176,7 +180,7 @@ Reverse Provides:
      If <option>--full</option> is given
      then output identical to <literal>show</literal> is produced for each matched
      package, and if <option>--names-only</option> is given then the long description
-     is not searched, only the package name is.</para>
+     is not searched, only the package name and provided packages are.</para>
      <para>
      Separate arguments can be used to specify multiple search patterns that 
      are and'ed together.</para></listitem>
@@ -214,9 +218,9 @@ Reverse Provides:
      set the <literal>APT::Cache::GivenOnly</literal> option.</para>
 
      <para>The resulting nodes will have several shapes; normal packages are boxes,
-     pure provides are triangles, mixed provides are diamonds, 
+     pure virtual packages are triangles, mixed virtual packages are diamonds,
      missing packages are hexagons. Orange boxes mean recursion was stopped 
-     [leaf packages], blue lines are pre-depends, green lines are conflicts.</para>
+     (leaf packages), blue lines are pre-depends, green lines are conflicts.</para>
 
      <para>Caution, dotty cannot graph larger sets of packages.</para></listitem>
      </varlistentry>
@@ -271,7 +275,8 @@ Reverse Provides:
      </varlistentry>
 
      <varlistentry><term><option>-i</option></term><term><option>--important</option></term>
-     <listitem><para>Print only important dependencies; for use with unmet and depends. Causes only Depends and 
+     <listitem><para>Print only important dependencies; for use with <literal>unmet</literal>
+     and <literal>depends</literal>. Causes only Depends and
      Pre-Depends relations to be printed.
      Configuration Item: <literal>APT::Cache::Important</literal>.</para></listitem>
      </varlistentry>
@@ -284,12 +289,23 @@ Reverse Provides:
                   <term><option>--no-breaks</option></term>
                   <term><option>--no-replaces</option></term>
                   <term><option>--no-enhances</option></term>
-                  <listitem><para>Per default the <literal>depends</literal> and
-     <literal>rdepends</literal> print all dependencies. This can be tweaked with
+                  <listitem><para>Per default the <command>depends</command> and
+     <command>rdepends</command> print all dependencies. This can be tweaked with
      these flags which will omit the specified dependency type.
      Configuration Item: <literal>APT::Cache::Show<replaceable>DependencyType</replaceable></literal>
      e.g. <literal>APT::Cache::ShowRecommends</literal>.</para></listitem>
      </varlistentry>
+
+     <varlistentry><term><option>--implicit</option></term>
+       <listitem><para>Per default <command>depends</command> and <command>rdepends</command>
+             print only dependencies explicitly expressed in the metadata. With this flag
+             it will also show dependencies implicitly added based on the encountered data.
+             A <literal>Conflicts: foo</literal> e.g. expresses implicitly that this package
+             also conflicts with the package foo from any other architecture.
+             Configuration Item: <literal>APT::Cache::ShowImplicit</literal>.
+       </para></listitem>
+     </varlistentry>
+
      <varlistentry><term><option>-f</option></term><term><option>--full</option></term>
      <listitem><para>Print full package records when searching. 
      Configuration Item: <literal>APT::Cache::ShowFull</literal>.</para></listitem>
@@ -299,7 +315,7 @@ Reverse Provides:
      <listitem><para>Print full records for all available versions. This is the
      default; to turn it off, use <option>--no-all-versions</option>.
      If <option>--no-all-versions</option> is specified, only the candidate version
-     will displayed (the one which would be selected for installation).
+     will be displayed (the one which would be selected for installation).
      This option is only applicable to  the <literal>show</literal> command.
      Configuration Item: <literal>APT::Cache::AllVersions</literal>.</para></listitem>
      </varlistentry>
@@ -311,7 +327,7 @@ Reverse Provides:
      </varlistentry>
 
      <varlistentry><term><option>--names-only</option></term><term><option>-n</option></term>
-     <listitem><para>Only search on the package names, not the long descriptions. 
+     <listitem><para>Only search on the package and provided package names, not the long descriptions.
      Configuration Item: <literal>APT::Cache::NamesOnly</literal>.</para></listitem>
      </varlistentry>
 
@@ -334,6 +350,21 @@ Reverse Provides:
       Configuration Item: <literal>APT::Cache::Installed</literal>.</para></listitem>
       </varlistentry>
 
+      <varlistentry><term><option>--with-source</option> <option>&synopsis-param-filename;</option></term>
+      <listitem><para>
+      Adds the given file as a source for metadata. Can be repeated to add multiple files.
+      Supported are currently <literal>*.deb</literal>, <literal>*.dsc</literal>,
+      <literal>*.changes</literal>, <literal>Sources</literal> and
+      <literal>Packages</literal> files as well as source package directories.
+      Files are matched based on their name only, not their content!</para>
+      <para><literal>Sources</literal> and <literal>Packages</literal> can be compressed in any
+      format apt supports as long as they have the correct extension. If you need to store
+      multiple of these files in one directory you can prefix a name of your choice with the
+      last character being an underscore ("<literal>_</literal>"). Example: my.example_Packages.xz</para>
+      <para>Note that these sources are treated as trusted (see &apt-secure;).
+      Configuration Item: <literal>APT::Sources::With</literal>.</para></listitem>
+      </varlistentry>
+
      &apt-commonoptions;
      
    </variablelist>