]> git.saurik.com Git - apt.git/blobdiff - doc/apt.8.xml
revamp apt(8) to refer more instead of duplicating
[apt.git] / doc / apt.8.xml
index 0340e043f186945b2afc0532b49ed8491342e2d5..6e541b557084f9f90c7b62f58b91f0927a4dcad9 100644 (file)
@@ -1,19 +1,14 @@
 <?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>
 
  <refentryinfo>
-   &apt-author.jgunthorpe;
    &apt-author.team;
    &apt-email;
    &apt-product;
  <!-- Man page title -->
  <refnamediv>
     <refname>apt</refname>
-    <refpurpose>APT package -- command-line interface</refpurpose>
+    <refpurpose>command-line interface</refpurpose>
  </refnamediv>
 
  &synopsis-command-apt;
 
  <refsect1><title>Description</title>
-   <para><command>apt</command> is the command-line tool for handling packages. It provides a commandline interface for the package management of the system.
-
-   See also &apt-get; and &apt-cache; for more low-level command options.
+   <para><command>apt</command> provides a high-level commandline interface for
+      the package management system. It is intended as an end user interface and
+      enables some options better suited for interactive usage by default
+      compared to more specialized APT tools like &apt-get; and &apt-cache;.
+   </para><para>
+   Much like <command>apt</command> itself, its manpage is intended as an end
+   user interface and as such only mentions the most used commands and options
+   partly to not duplicate information in multiple places and partly to avoid
+   overwelming readers with a cornucopia of options and details.
    </para>
 
    <variablelist>
-     <varlistentry><term><option>update</option></term>
-     <listitem><para><literal>update</literal> is used to
-     resynchronize the package index files from their sources.
+     <varlistentry><term><option>update</option> (&apt-get;)</term>
+     <listitem><para><option>update</option> is used to download package
+          information from all configured sources. Other commands operate on
+          this data to e.g. perform package upgrades or search in and display
+          details about all packages available for installation.
      </para></listitem>
-   </varlistentry>
-     
-     <varlistentry><term><option>upgrade</option></term>
-     <listitem><para><literal>upgrade</literal> is used to install the
-     newest versions of all packages currently installed on the system
-     from the sources enumerated in
-     <filename>/etc/apt/sources.list</filename>. New package will be
-     installed, but existing package will never removed.
+     </varlistentry>
+
+     <varlistentry><term><option>upgrade</option> (&apt-get;)</term>
+     <listitem><para><option>upgrade</option> is used to install available
+          upgrades of all packages currently installed on the system from the
+          sources configured via &sources-list;. New packages will be
+          installed if required to statisfy dependencies, but existing
+          packages will never be removed. If an upgrade for a package requires
+          the remove of an installed package the upgrade for this package
+          isn't performed.
      </para></listitem>
      </varlistentry>
 
-     <varlistentry><term><option>install</option></term>
-     <listitem>
-        <para><literal>install</literal> is followed by one or more 
-        package names desired for installation or upgrading. 
-        </para>
-
-     <para>A specific version of a package can be selected for installation by 
-     following the package name with an equals and the version of the package 
-     to select. This will cause that version to be located and selected for
-     install. Alternatively a specific distribution can be selected by 
-     following the package name with a slash and the version of the 
-     distribution or the Archive name (stable, testing, unstable).</para>
-     </listitem>
+     <varlistentry><term><option>full-upgrade</option> (&apt-get;)</term>
+     <listitem><para><literal>full-upgrade</literal> performs the function of
+          upgrade but will remove currently installed packages if this is
+          needed to upgrade the system as a whole.
+     </para></listitem>
      </varlistentry>
 
-     <varlistentry><term><option>remove</option></term>
-     <listitem><para><literal>remove</literal> is identical to <literal>install</literal> except that packages are 
-        removed instead of installed. Note that removing a package leaves its
-        configuration files on the system. If a plus sign is appended to the package 
-     name (with no intervening space), the identified package will be 
-     installed instead of removed.</para></listitem>
+     <varlistentry><term><option>install</option>, <option>remove</option>, <option>purge</option> (&apt-get;)</term>
+     <listitem><para>Performs the requested action on one or more packages
+          specified via &regex;, &glob; or exact match. The requested action
+          can be overidden for specific packages by append a plus (+) to the
+          package name to install this package or a minus (-) to remove it.
+     </para><para>
+          A specific version of a package can be selected for installation by
+          following the package name with an equals (=) and the version of the
+          package to select. Alternatively the version from a specific release can be
+          selected by following the package name with a forward slash (/) and
+          codename (&stable-codename;, &testing-codename;, sid …) or suite name (stable,
+          testing, unstable). This will also select versions from this release
+          for dependencies of this package if needed to satisfy the request.
+     </para><para>
+          Removing a package removes all packaged data, but leaves usually
+          small (modified) user configuration files behind, in case the
+          remove was an accident. Just issuing an installtion request for the
+          accidently removed package will restore it funcation as before in
+          that case. On the other hand you can get right of these leftovers
+          via calling <command>purge</command> even on already removed
+          packages.  Note that this does not effect any data or configuration
+          stored in your home directory.
+     </para></listitem>
      </varlistentry>
 
-   </variablelist>
- </refsect1>
- <refsect1><title>options</title>
-   &apt-cmdblurb;
+     <varlistentry><term><option>autoremove</option> (&apt-get;)</term>
+     <listitem><para>
+          <literal>autoremove</literal> is used to remove packages that were
+          automatically installed to satisfy dependencies for other packages
+          and are now no longer needed as dependencies changed or the package(s)
+          needing them were removed in the meantime.
+     </para><para>
+          Try to ensure that the list does not include applications you have
+          grown to like even through they there once installed just as a
+          dependency of another package. You can mark such a package as manually
+          installed by using &apt-mark;. Packages which you have installed explicitly
+          via <command>install</command> are never proposed for automatic removal as well.
+     </para></listitem>
+     </varlistentry>
+
+     <varlistentry><term><option>search</option> (&apt-cache;)</term>
+     <listitem><para><option>search</option> can be used to search for the given
+          &regex; term(s) in the list of the available packages and display
+          matches.  This can e.g. be useful if you are looking for packages
+          having a specific feature.  If you are looking for a package
+          including a specific file try &apt-file;.
+     </para></listitem>
+     </varlistentry>
+
+     <varlistentry><term><option>show</option> (&apt-cache;)</term>
+     <listitem><para>Show information about the given package(s) including
+          its dependencies, installation and download size, sources the
+          package is available from, the description of the packages content
+          and many more. It can e.g. be helpful to look at this information
+          before allowing &apt; to remove a package or while searching for
+          new packages to install.
+     </para></listitem>
+     </varlistentry>
+
+     <varlistentry><term><option>list</option> (work-in-progress)</term>
+     <listitem><para><option>list</option> is somewhat similar to <command>dpkg-query --list</command>
+          in that it can display a list of packages satisfying certain
+          criteria.  It supports &glob; patterns for matching package names as
+          well as options to list installed (<option>--installed</option>),
+          upgradeable (<option>--upgradeable</option>) or all available
+          (<option>--all-versions</option>) versions.
+     </para></listitem>
+     </varlistentry>
+
+     <varlistentry><term><option>edit-sources</option> (work-in-progress)</term>
+     <listitem><para><literal>edit-sources</literal> lets you edit
+          your &sources-list; files in your preferred texteditor while also
+          providing basic sanity checks.
+     </para></listitem>
+     </varlistentry>
 
-   <variablelist>
 
-     &apt-commonoptions;
-     
    </variablelist>
  </refsect1>
 
- <refsect1><title>Differences to &apt-get;</title>
- <para>The <command>apt</command> command is meant to be pleasant for
- end users and does not need to be backward compatilbe like
- &apt-get;. Therefore some options are different:
- <itemizedlist>
-   <listitem>The option <literal>DPkgPM::Progress-Fancy</literal> is enabled.
-   </listitem>
-   <listitem>The option <literal>APT::Color</literal> is enabled.
-   </listitem>
-   <listitem>A new <literal>list</literal> command is available
-   similar to <literal>dpkg --list</literal>.
-   </listitem>
-   <listitem>The option <literal>upgrade</literal> has
-   <literal>--with-new-pkgs</literal> enabled by default.
-   </listitem>
-
- </itemizedlist>
-
- </para>
+ <refsect1><title>Script usage and Differences to other APT tools</title>
+  <para>
+   The &apt; commandline is designed as a end-user tool and it may
+   change behaviour between versions. While it tries to not break
+   backward compatibility there is no guarantee for it either if it
+   seems benefitial for interactive use.
+  </para><para>
+   All features of &apt; are available in dedicated APT tools like &apt-get;
+   and &apt-cache; as well.  &apt; just changes the default value of some
+   options (see &apt-conf; and specifically the Binary scope). So prefer using
+   these commands (potentially with some additional options enabled) in your
+   scripts as they keep backward compatibility as much as possible.
+   </para>
  </refsect1>
 
  <refsect1><title>See Also</title>
-   <para>&apt-get; &apt-cache;, &sources-list;,
-   &apt-conf;, &apt-config;, 
+   <para>&apt-get;, &apt-cache;, &sources-list;,
+   &apt-conf;, &apt-config;,
    The APT User's guide in &guidesdir;, &apt-preferences;, the APT Howto.</para>
  </refsect1>