]> git.saurik.com Git - apt.git/blobdiff - doc/apt-key.8.xml
For speed, you *need* multiple downloads per host.
[apt.git] / doc / apt-key.8.xml
index f17f0c45e730e07b52ed8f6b4029483eb33781b6..eacd18d4d355a4bcc234cadd29f13893d5e92908 100644 (file)
@@ -1,18 +1,21 @@
 <?xml version="1.0" encoding="utf-8" standalone="no"?>
 <?xml version="1.0" encoding="utf-8" standalone="no"?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
-
-<!ENTITY % aptent SYSTEM "apt.ent">
-%aptent;
-
-<!ENTITY % aptverbatiment SYSTEM "apt-verbatim.ent">
-%aptverbatiment;
-
+<!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 % aptvendor SYSTEM "apt-vendor.ent"> %aptvendor;
 ]>
 
 <refentry>
 ]>
 
 <refentry>
- &apt-docinfo;
+ <refentryinfo>
+   &apt-author.jgunthorpe;
+   &apt-author.team;
+   &apt-email;
+   &apt-product;
+   <!-- The last update date -->
+   <date>2016-11-25T00:00:00Z</date>
+ </refentryinfo>
+
  <refmeta>
    <refentrytitle>apt-key</refentrytitle>
    <manvolnum>8</manvolnum>
  <refmeta>
    <refentrytitle>apt-key</refentrytitle>
    <manvolnum>8</manvolnum>
     <refpurpose>APT key management utility</refpurpose>
  </refnamediv>
 
     <refpurpose>APT key management utility</refpurpose>
  </refnamediv>
 
- <!-- Arguments -->
- <refsynopsisdiv>
-   <cmdsynopsis>
-      <command>apt-key</command>
-      <arg><option>--keyring <replaceable>filename</replaceable></option></arg>
-      <arg><replaceable>command</replaceable></arg>
-      <arg rep="repeat"><option><replaceable>arguments</replaceable></option></arg>
-   </cmdsynopsis>
- </refsynopsisdiv>
+ &synopsis-command-apt-key;
 
  <refsect1><title>Description</title>
    <para>
 
  <refsect1><title>Description</title>
    <para>
    by apt to authenticate packages.  Packages which have been
    authenticated using these keys will be considered trusted.
    </para>
    by apt to authenticate packages.  Packages which have been
    authenticated using these keys will be considered trusted.
    </para>
+   <para>
+   Note that if usage of <command>apt-key</command> is desired the additional
+   installation of the GNU Privacy Guard suite (packaged in
+   <package>gnupg</package>) is required. For this reason alone the programmatic
+   usage (especially in package maintainerscripts!) is strongly discouraged.
+   Further more the output format of all commands is undefined and can and does
+   change whenever the underlying commands change. <command>apt-key</command> will
+   try to detect such usage and generates warnings on stderr in these cases.
+   </para>
+</refsect1>
+
+<refsect1><title>Supported keyring files</title>
+<para>apt-key supports only the binary OpenPGP format (also known as "GPG key
+   public ring") in files with the "<literal>gpg</literal>" extension, not
+   the keybox database format introduced in newer &gpg; versions as default
+   for keyring files. Binary keyring files intended to be used with any apt
+   version should therefore always be created with <command>gpg --export</command>.
+</para>
+<para>Alternatively, if all systems which should be using the created keyring
+   have at least apt version >= 1.4 installed, you can use the ASCII armored
+   format with the "<literal>asc</literal>" extension instead which can be
+   created with <command>gpg --armor --export</command>.
+</para>
 </refsect1>
 
 <refsect1><title>Commands</title>
    <variablelist>
 </refsect1>
 
 <refsect1><title>Commands</title>
    <variablelist>
-     <varlistentry><term>add <replaceable>filename</replaceable></term>
+     <varlistentry><term><option>add</option> <option>&synopsis-param-filename;</option></term>
      <listitem>
      <para>
      <listitem>
      <para>
-
-       Add a new key to the list of trusted keys.  The key is read
-       from <replaceable>filename</replaceable>, or standard input if
-       <replaceable>filename</replaceable> is <literal>-</literal>.
+       Add a new key to the list of trusted keys.
+       The key is read from the filename given with the parameter
+       &synopsis-param-filename; or if the filename is <literal>-</literal>
+       from standard input.
+     </para>
+     <para>
+     It is critical that keys added manually via <command>apt-key</command> are
+     verified to belong to the owner of the repositories they claim to be for
+     otherwise the &apt-secure; infrastructure is completely undermined.
+     </para>
+     <para>
+       <emphasis>Note</emphasis>: Instead of using this command a keyring
+       should be placed directly in the <filename>/etc/apt/trusted.gpg.d/</filename>
+       directory with a descriptive name and either "<literal>gpg</literal>" or
+       "<literal>asc</literal>" as file extension.
      </para>
      </para>
-
      </listitem>
      </varlistentry>
 
      </listitem>
      </varlistentry>
 
-     <varlistentry><term>del <replaceable>keyid</replaceable></term>
+     <varlistentry><term><option>del</option> <option>&synopsis-param-keyid;</option></term>
      <listitem>
      <para>
 
      <listitem>
      <para>
 
      </listitem>
      </varlistentry>
 
      </listitem>
      </varlistentry>
 
-     <varlistentry><term>export <replaceable>keyid</replaceable></term>
+     <varlistentry><term><option>export</option> <option>&synopsis-param-keyid;</option></term>
      <listitem>
      <para>
 
      <listitem>
      <para>
 
-        Output the key <replaceable>keyid</replaceable> to standard output.
+        Output the key &synopsis-param-keyid; to standard output.
 
      </para>
 
      </listitem>
      </varlistentry>
 
 
      </para>
 
      </listitem>
      </varlistentry>
 
-     <varlistentry><term>exportall</term>
+     <varlistentry><term><option>exportall</option></term>
      <listitem>
      <para>
 
      <listitem>
      <para>
 
      </listitem>
      </varlistentry>
 
      </listitem>
      </varlistentry>
 
-     <varlistentry><term>list</term>
+     <varlistentry><term><option>list</option>, <option>finger</option></term>
      <listitem>
      <para>
 
      <listitem>
      <para>
 
-       List trusted keys.
+       List trusted keys with fingerprints.
 
      </para>
 
      </listitem>
      </varlistentry>
 
      </para>
 
      </listitem>
      </varlistentry>
-     
-        <varlistentry><term>finger</term>
-     <listitem>
-     <para>
 
 
-     List fingerprints of trusted keys.
-
-     </para>
-
-     </listitem>
-     </varlistentry>
-     
-        <varlistentry><term>adv</term>
+     <varlistentry><term><option>adv</option></term>
      <listitem>
      <para>
      <listitem>
      <para>
-
-     Pass advanced options to gpg. With adv --recv-key you can download the 
-        public key.  
-
+     Pass advanced options to gpg. With <command>adv --recv-key</command> you
+     can e.g. download key from keyservers directly into the the trusted set of
+     keys. Note that there are <emphasis>no</emphasis> checks performed, so it is
+     easy to completely undermine the &apt-secure; infrastructure if used without
+     care.
      </para>
 
      </listitem>
      </varlistentry>
 
      </para>
 
      </listitem>
      </varlistentry>
 
-     <varlistentry><term>update</term>
+     <varlistentry><term><option>update</option> (deprecated)</term>
      <listitem>
      <para>
      <listitem>
      <para>
-
        Update the local keyring with the archive keyring and remove from
        the local keyring the archive keys which are no longer valid.
        The archive keyring is shipped in the <literal>archive-keyring</literal> package of your
        Update the local keyring with the archive keyring and remove from
        the local keyring the archive keys which are no longer valid.
        The archive keyring is shipped in the <literal>archive-keyring</literal> package of your
-       distribution, e.g. the <literal>debian-archive-keyring</literal> package in Debian.
-
+       distribution, e.g. the &keyring-package; package in &keyring-distro;.
+     </para>
+     <para>
+       Note that a distribution does not need to and in fact should not use
+       this command any longer and instead ship keyring files in the
+       <filename>/etc/apt/trusted.gpg.d/</filename> directory directly as this
+       avoids a dependency on <package>gnupg</package> and it is easier to manage
+       keys by simply adding and removing files for maintainers and users alike.
      </para>
      </para>
-
      </listitem>
      </varlistentry>
      
      </listitem>
      </varlistentry>
      
-     <varlistentry><term>net-update</term>
+     <varlistentry><term><option>net-update</option></term>
      <listitem>
      <para>
 
      <listitem>
      <para>
 
-       Work similar to the <command>update</command> command above, but get the
-       archive keyring from an URI instead and validate it against a master key.
+       Perform an update working similarly to the <command>update</command> command above,
+       but get the archive keyring from a URI instead and validate it against a master key.
 
        This requires an installed &wget; and an APT build configured to have
        a server to fetch from and a master keyring to validate.
 
 
        This requires an installed &wget; and an APT build configured to have
        a server to fetch from and a master keyring to validate.
 
-       APT in Debian does not support this command and relies on
+       APT in Debian does not support this command, relying on
        <command>update</command> instead, but Ubuntu's APT does.
 
      </para>
        <command>update</command> instead, but Ubuntu's APT does.
 
      </para>
  <refsect1><title>Options</title>
 <para>Note that options need to be defined before the commands described in the previous section.</para>
    <variablelist>
  <refsect1><title>Options</title>
 <para>Note that options need to be defined before the commands described in the previous section.</para>
    <variablelist>
-      <varlistentry><term>--keyring <replaceable>filename</replaceable></term>
-      <listitem><para>With this option it is possible to specify a specific keyring
+      <varlistentry><term><option>--keyring</option> <option>&synopsis-param-filename;</option></term>
+      <listitem><para>With this option it is possible to specify a particular keyring
       file the command should operate on. The default is that a command is executed
       on the <filename>trusted.gpg</filename> file as well as on all parts in the
       file the command should operate on. The default is that a command is executed
       on the <filename>trusted.gpg</filename> file as well as on all parts in the
-      <filename>trusted.gpg.d</filename> directory, through <filename>trusted.gpg</filename>
+      <filename>trusted.gpg.d</filename> directory, though <filename>trusted.gpg</filename>
       is the primary keyring which means that e.g. new keys are added to this one.
       </para></listitem>
       </varlistentry>
       is the primary keyring which means that e.g. new keys are added to this one.
       </para></listitem>
       </varlistentry>
 
      &file-trustedgpg;
 
 
      &file-trustedgpg;
 
-     <varlistentry><term><filename>/etc/apt/trustdb.gpg</filename></term>
-     <listitem><para>Local trust database of archive keys.</para></listitem>
-     </varlistentry>
-
-     <varlistentry><term><filename>/usr/share/keyrings/debian-archive-keyring.gpg</filename></term>
-     <listitem><para>Keyring of Debian archive trusted keys.</para></listitem>
-     </varlistentry>
-
-     <varlistentry><term><filename>/usr/share/keyrings/debian-archive-removed-keys.gpg</filename></term>
-     <listitem><para>Keyring of Debian archive removed trusted keys.</para></listitem>
-     </varlistentry>
-
    </variablelist>
 
 </refsect1>
    </variablelist>
 
 </refsect1>