merged from debian-sid
[ntk/apt.git] / doc / apt-get.8.xml
index 1bd21a5..abdec96 100644 (file)
    &apt-email;
    &apt-product;
    <!-- The last update date -->
-   <date>29 February 2004</date>
+   <date>08 November 2008</date>
  </refentryinfo>
  
  <refmeta>
    <refentrytitle>apt-get</refentrytitle>
    <manvolnum>8</manvolnum>
+   <refmiscinfo class="manual">APT</refmiscinfo>
  </refmeta>
  
  <!-- Man page title -->
  <refsynopsisdiv>
    <cmdsynopsis>
       <command>apt-get</command>
-      <arg><option>-hvs</option></arg>
-      <arg><option>-o=<replaceable>config string</replaceable></option></arg>
-      <arg><option>-c=<replaceable>file</replaceable></option></arg>
+      <arg><option>-sqdyfmubV</option></arg>
+      <arg>
+             <option>-o=
+                         <replaceable>config_string</replaceable>
+             </option>
+      </arg>
+      <arg>
+             <option>-c=
+                     <replaceable>config_file</replaceable>
+             </option>
+      </arg>
+      <arg>
+               <option>-t=</option>
+               <arg choice='plain'>
+                       <replaceable>target_release</replaceable>
+               </arg>
+      </arg>
+
       <group choice="req">
-         <arg>update</arg>
-         <arg>upgrade</arg>
-         <arg>dselect-upgrade</arg>
-         <arg>install <arg choice="plain" rep="repeat"><replaceable>pkg</replaceable></arg></arg>
-         <arg>remove <arg choice="plain" rep="repeat"><replaceable>pkg</replaceable></arg></arg>
-         <arg>purge <arg choice="plain" rep="repeat"><replaceable>pkg</replaceable></arg></arg>
-         <arg>source <arg choice="plain" rep="repeat"><replaceable>pkg</replaceable></arg></arg>
-         <arg>build-dep <arg choice="plain" rep="repeat"><replaceable>pkg</replaceable></arg></arg>
-         <arg>check</arg>
-         <arg>clean</arg>
-         <arg>autoclean</arg>
-         <arg>autoremove</arg>
+         <arg choice='plain'>update</arg>
+         <arg choice='plain'>upgrade</arg>
+         <arg choice='plain'>dselect-upgrade</arg>
+         <arg choice='plain'>dist-upgrade</arg>
+         <arg choice='plain'>install 
+                        <arg choice="plain" rep="repeat"><replaceable>pkg</replaceable>
+                               <arg>
+                                       <group choice='req'>
+                                               <arg choice='plain'>
+                                                       =<replaceable>pkg_version_number</replaceable>
+                                               </arg>
+                                               <arg choice='plain'>
+                                                       /<replaceable>target_release</replaceable>
+                                               </arg>
+                                       </group>
+                               </arg>
+                        </arg>
+            </arg>
+         <arg choice='plain'>remove <arg choice="plain" rep="repeat"><replaceable>pkg</replaceable></arg></arg>
+         <arg choice='plain'>purge <arg choice="plain" rep="repeat"><replaceable>pkg</replaceable></arg></arg>
+         <arg choice='plain'>source 
+                        <arg choice="plain" rep="repeat"><replaceable>pkg</replaceable>
+                               <arg>
+                                       <group choice='req'>
+                                               <arg choice='plain'>
+                                                       =<replaceable>pkg_version_number</replaceable>
+                                               </arg>
+                                               <arg choice='plain'>
+                                                       /<replaceable>target_release</replaceable>
+                                               </arg>
+                                       </group>
+                               </arg>
+                        </arg>
+            </arg>
+         <arg choice='plain'>build-dep <arg choice="plain" rep="repeat"><replaceable>pkg</replaceable></arg></arg>
+         <arg choice='plain'>check</arg>
+         <arg choice='plain'>clean</arg>
+         <arg choice='plain'>autoclean</arg>
+         <arg choice='plain'>autoremove</arg>
+                <arg choice='plain'>
+                        <group choice='req'>
+                               <arg choice='plain'>-v</arg>
+                               <arg choice='plain'>--version</arg>
+                        </group>
+                </arg>
+                <arg choice='plain'>
+                        <group choice='req'>
+                               <arg choice='plain'>-h</arg>
+                               <arg choice='plain'>--help</arg>
+                        </group>
+                </arg>
       </group>   
    </cmdsynopsis>
  </refsynopsisdiv>
  <refsect1><title>Description</title>
    <para><command>apt-get</command> is the command-line tool for handling packages, and may be 
    considered the user's "back-end" to other tools using the APT
-   library.  Several "front-end" interfaces exist, such as dselect(8),
-   aptitude, synaptic, gnome-apt and wajig.</para>
+   library.  Several "front-end" interfaces exist, such as &dselect;,
+   &aptitude;, &synaptic; and &wajig;.</para>
 
    <para>Unless the <option>-h</option>, or <option>--help</option> option is given, one of the
    commands below must be present.</para>
      with new versions of packages; <command>apt-get</command> has a "smart" conflict 
      resolution system, and it will attempt to upgrade the most important 
      packages at the expense of less important ones if necessary. 
+        So, <literal>dist-upgrade</literal> command may remove some packages.
      The <filename>/etc/apt/sources.list</filename> file contains a list of locations 
      from which to retrieve desired package files.
      See also &apt-preferences; for a mechanism for
      </varlistentry>
 
      <varlistentry><term>install</term>
-     <listitem><para><literal>install</literal> is followed by one or more packages desired for 
-     installation. Each package is a package name, not a fully qualified 
-     filename (for instance, in a Debian GNU/Linux system, libc6 would be the 
-     argument provided, not <literal>libc6_1.9.6-2.deb</literal>) All packages required 
-     by the package(s) specified for installation will also be retrieved and 
-     installed. The <filename>/etc/apt/sources.list</filename> file is used to locate 
-     the desired packages. If a hyphen is appended to the package name (with 
-     no intervening space), the identified package will be removed if it is 
-     installed. Similarly a plus sign can be used to designate a package to 
-     install. These latter features may be used to override decisions made by 
-     apt-get's conflict resolution system.</para>
+     <listitem>
+        <para><literal>install</literal> is followed by one or more 
+        packages desired for installation or upgrading. 
+        Each package is a package name, not a fully qualified 
+        filename (for instance, in a Debian GNU/Linux system, 
+        libc6 would be the argument provided, not 
+        <literal>libc6_1.9.6-2.deb</literal>). All packages required 
+        by the package(s) specified for installation will also 
+        be retrieved and installed. 
+        The <filename>/etc/apt/sources.list</filename> file is 
+        used to locate the desired packages. If a hyphen is 
+        appended to the package name (with no intervening space), 
+        the identified package will be removed if it is installed. 
+        Similarly a plus sign can be used to designate a 
+        package to install. These latter features may be used 
+        to override decisions made by apt-get's conflict 
+        resolution system.
+        </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 
      <para>Both of the version selection mechanisms can downgrade packages and must
      be used with care.</para>
 
+       <para>This is also the target to use if you want to upgrade one or 
+               more already-installed packages without upgrading every package 
+               you have on your system. Unlike the "upgrade" target, which 
+               installs the newest version of all currently installed packages, 
+               "install" will install the newest version of only the package(s) 
+               specified. Simply provide the name of the package(s) you wish 
+               to upgrade, and if a newer version is available, it (and its 
+               dependencies, as described above) will be downloaded and 
+               installed.
+       </para>
+
      <para>Finally, the &apt-preferences; mechanism allows you to
      create an alternative installation policy for
      individual packages.</para>
 
      <varlistentry><term>remove</term>
      <listitem><para><literal>remove</literal> is identical to <literal>install</literal> except that packages are 
-     removed instead of installed. If a plus sign is appended to the package 
+        removed instead of installed. Note the removing a package leaves its
+        configuration files in 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>
 
      <varlistentry><term>purge</term>
      <listitem><para><literal>purge</literal> is identical to <literal>remove</literal> except that packages are 
-     removed and purged.</para></listitem>
+     removed and purged (any configuration files are deleted too).</para></listitem>
      </varlistentry>
 
      <varlistentry><term>source</term>
      <listitem><para><literal>source</literal> causes <command>apt-get</command> to fetch source packages. APT 
      will examine the available packages to decide which source package to 
      fetch. It will then find and download into the current directory the 
-     newest available version of that source package. Source packages are 
-     tracked separately from binary packages via <literal>deb-src</literal> type lines 
-     in the &sources-list; file. This probably will mean that you will not 
-     get the same source as the package you have installed or as you could 
-     install. If the --compile options is specified then the package will be 
-     compiled to a binary .deb using dpkg-buildpackage, if --download-only is 
-     specified then the source package will not be unpacked.</para>
+     newest available version of that source package while respect the
+     default release, set with the option <literal>APT::Default-Release</literal>,
+     the <option>-t</option> option or per package with the
+     <literal>pkg/release</literal> syntax, if possible.</para>
+
+     <para>Source packages are tracked separately
+     from binary packages via <literal>deb-src</literal> type lines 
+     in the &sources-list; file. This means that you will need to add such a line
+     for each repository you want to get sources from. If you don't do this
+     you will properly get another (newer, older or none) source version than
+     the one you have installed or could install.</para>
+
+     <para>If the <option>--compile</option> option is specified
+     then the package will be compiled to a binary .deb using
+     <command>dpkg-buildpackage</command>, if <option>--download-only</option>
+     is specified then the source package will not be unpacked.</para>
 
      <para>A specific source version can be retrieved by postfixing the source name
      with an equals and then the version to fetch, similar to the mechanism
    &apt-cmdblurb;
 
    <variablelist>
+     <varlistentry><term><option>--no-install-recommends</option></term>
+     <listitem><para>Do not consider recommended packages as a dependency for installing.
+     Configuration Item: <literal>APT::Install-Recommends</literal>.</para></listitem>
+     </varlistentry>
+
      <varlistentry><term><option>-d</option></term><term><option>--download-only</option></term>
      <listitem><para>Download only; package files are only retrieved, not unpacked or installed.
      Configuration Item: <literal>APT::Get::Download-Only</literal>.</para></listitem>
      <varlistentry><term><option>-f</option></term><term><option>--fix-broken</option></term>
      <listitem><para>Fix; attempt to correct a system with broken dependencies in            
      place. This option, when used with install/remove, can omit any packages
-     to permit APT to deduce a likely solution. Any Package that are specified
-     must completely correct the problem. The option is sometimes necessary when 
+     to permit APT to deduce a likely solution. If packages are specified,
+     these have to completely correct the problem. The option is sometimes necessary when 
      running APT for the first time; APT itself does not allow broken package 
      dependencies to exist on a system. It is possible that a system's 
      dependency structure can be so corrupt as to require manual intervention 
      actually change the system. 
      Configuration Item: <literal>APT::Get::Simulate</literal>.</para>
 
+     <para>Simulation run as user will deactivate locking (<literal>Debug::NoLocking</literal>)
+     automatic. Also a notice will be displayed indicating that this is only a simulation,
+     if the option <literal>APT::Get::Show-User-Simulation-Note</literal> is set (Default: true).
+     Neither NoLocking nor the notice will be triggered if run as root (root should know what
+     he is doing without further warnings by <literal>apt-get</literal>).</para>
+
      <para>Simulate prints out
      a series of lines each one representing a dpkg operation, Configure (Conf),
-     Remove (Remv), Unpack (Inst). Square brackets indicate broken packages with
+     Remove (Remv), Unpack (Inst). Square brackets indicate broken packages
      and empty set of square brackets meaning breaks that are of no consequence
      (rare).</para></listitem>
      </varlistentry>
      Configuration Item: <literal>APT::Get::Compile</literal>.</para></listitem>
      </varlistentry>
 
+     <varlistentry><term><option>--install-recommends</option></term>
+     <listitem><para>Also install recommended packages.</para></listitem>
+     </varlistentry>
+
+     <varlistentry><term><option>--no-install-recommends</option></term>
+     <listitem><para>Do not install recommended packages.</para></listitem>
+     </varlistentry>
+
      <varlistentry><term><option>--ignore-hold</option></term>
      <listitem><para>Ignore package Holds; This causes <command>apt-get</command> to ignore a hold 
      placed on a package. This may be useful in conjunction with 
      Configuration Item: <literal>APT::Get::Upgrade</literal>.</para></listitem>
      </varlistentry>
 
+     <varlistentry><term><option>--only-upgrade</option></term>
+     <listitem><para>Do not install new packages; When used in conjunction with <literal>install</literal>,
+     <literal>only-upgrade</literal> will prevent packages on the command line
+     from being upgraded if they are not already installed.
+     Configuration Item: <literal>APT::Get::Only-Upgrade</literal>.</para></listitem>
+     </varlistentry>
+
      <varlistentry><term><option>--force-yes</option></term>
      <listitem><para>Force yes; This is a dangerous option that will cause apt to continue 
      without prompting if it is doing something potentially harmful. It 
      <varlistentry><term><option>--purge</option></term>
      <listitem><para>Use purge instead of remove for anything that would be removed.
      An asterisk ("*") will be displayed next to packages which are
-     scheduled to be purged.
+        scheduled to be purged. <option>remove --purge</option> is equivalent to the
+        <option>purge</option> command.
      Configuration Item: <literal>APT::Get::Purge</literal>.</para></listitem>
      </varlistentry>
 
                    <term><option>--target-release</option></term>
                    <term><option>--default-release</option></term>
      <listitem><para>This option controls the default input to the policy engine, it creates
-     a default pin at priority 990 using the specified release string. The
-     preferences file may further override this setting. In short, this option
+     a default pin at priority 990 using the specified release string.
+     This overrides the general settings in <filename>/etc/apt/preferences</filename>.
+     Specifically pinned packages are not affected by the value
+     of this option. In short, this option
      lets you have simple control over which distribution packages will be
      retrieved from. Some common examples might be 
-     <option>-t '2.1*'</option> or <option>-t unstable</option>.
+     <option>-t '2.1*'</option>, <option>-t unstable</option>
+     or <option>-t sid</option>.
      Configuration Item: <literal>APT::Default-Release</literal>;
      see also the &apt-preferences; manual page.</para></listitem>
      </varlistentry>
 
      <varlistentry><term><option>--allow-unauthenticated</option></term>
      <listitem><para>Ignore if packages can't be authenticated and don't prompt about it.
-     This is usefull for tools like pbuilder.
+     This is useful for tools like pbuilder.
      Configuration Item: <literal>APT::Get::AllowUnauthenticated</literal>.</para></listitem>
      </varlistentry>
      
 
  <refsect1><title>Files</title>
    <variablelist>
-     <varlistentry><term><filename>/etc/apt/sources.list</filename></term>
-     <listitem><para>Locations to fetch packages from.
-     Configuration Item: <literal>Dir::Etc::SourceList</literal>.</para></listitem>
-     </varlistentry>
-     
-     <varlistentry><term><filename>/etc/apt/apt.conf</filename></term>
-     <listitem><para>APT configuration file.
-     Configuration Item: <literal>Dir::Etc::Main</literal>.</para></listitem>
-     </varlistentry>
-     
-     <varlistentry><term><filename>/etc/apt/apt.conf.d/</filename></term>
-     <listitem><para>APT configuration file fragments
-     Configuration Item: <literal>Dir::Etc::Parts</literal>.</para></listitem>
-     </varlistentry>
-     
-     <varlistentry><term><filename>/etc/apt/preferences</filename></term>
-     <listitem><para>Version preferences file.
-     This is where you would specify "pinning",
-     i.e. a preference to get certain packages
-     from a separate source
-     or from a different version of a distribution.
-     Configuration Item: <literal>Dir::Etc::Preferences</literal>.</para></listitem>
-     </varlistentry>
-     
-     <varlistentry><term><filename>&cachedir;/archives/</filename></term>
-     <listitem><para>Storage area for retrieved package files.
-     Configuration Item: <literal>Dir::Cache::Archives</literal>.</para></listitem>
-     </varlistentry>
-     
-     <varlistentry><term><filename>&cachedir;/archives/partial/</filename></term>
-     <listitem><para>Storage area for package files in transit.
-     Configuration Item: <literal>Dir::Cache::Archives</literal> (implicit partial). </para></listitem>
-     </varlistentry>
-     
-     <varlistentry><term><filename>&statedir;/lists/</filename></term>
-     <listitem><para>Storage area for state information for each package resource specified in
-     &sources-list;
-     Configuration Item: <literal>Dir::State::Lists</literal>.</para></listitem>
-     </varlistentry>
-  
-     <varlistentry><term><filename>&statedir;/lists/partial/</filename></term>
-     <listitem><para> Storage area for state information in transit.
-     Configuration Item: <literal>Dir::State::Lists</literal> (implicit partial).</para></listitem>
-     </varlistentry>     
+     &file-sourceslist;
+     &file-aptconf;
+     &file-preferences;
+     &file-cachearchives;
+     &file-statelists;
    </variablelist>
  </refsect1>
 
  <refsect1><title>Diagnostics</title>
    <para><command>apt-get</command> returns zero on normal operation, decimal 100 on error.</para>
  </refsect1>
-
+ <refsect1>
+        <title>ORIGINAL AUTHORS</title>
+        <para>&apt-author.jgunthorpe;</para>
+ </refsect1>
+ <refsect1>
+        <title>CURRENT AUTHORS</title>
+        <para>
+                &apt-author.team;
+        </para>
+                &apt-qapage;
+ </refsect1>
  &manbugs;
 </refentry>