diff options
Diffstat (limited to 'doc/apt-key.8.xml')
-rw-r--r-- | doc/apt-key.8.xml | 246 |
1 files changed, 246 insertions, 0 deletions
diff --git a/doc/apt-key.8.xml b/doc/apt-key.8.xml new file mode 100644 index 0000000..7cf4da4 --- /dev/null +++ b/doc/apt-key.8.xml @@ -0,0 +1,246 @@ +<?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 % aptvendor SYSTEM "apt-vendor.ent"> %aptvendor; +]> + +<refentry> + <refentryinfo> + &apt-author.jgunthorpe; + &apt-author.team; + &apt-email; + &apt-product; + <!-- The last update date --> + <date>2022-02-22T00:00:00Z</date> + </refentryinfo> + + <refmeta> + <refentrytitle>apt-key</refentrytitle> + <manvolnum>8</manvolnum> + <refmiscinfo class="manual">APT</refmiscinfo> + </refmeta> + + <!-- Man page title --> + <refnamediv> + <refname>apt-key</refname> + <refpurpose>Deprecated APT key management utility</refpurpose> + </refnamediv> + + &synopsis-command-apt-key; + + <refsect1><title>Description</title> + <para> + <command>apt-key</command> is used to manage the list of keys used + by apt to authenticate packages. Packages which have been + authenticated using these keys will be considered trusted. + </para> + <para> + Use of <command>apt-key</command> is deprecated, except for the use of + <command>apt-key del</command> in maintainer scripts to remove existing + keys from the main keyring. + If such usage of <command>apt-key</command> is desired the additional + installation of the GNU Privacy Guard suite (packaged in + <package>gnupg</package>) is required. + </para> + <para> + apt-key(8) will last be available in Debian 11 and Ubuntu 22.04. + </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> + <varlistentry><term><option>add</option> <option>&synopsis-param-filename;</option> (deprecated)</term> + <listitem> + <para> + 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> + </listitem> + </varlistentry> + + <varlistentry><term><option>del</option> <option>&synopsis-param-keyid;</option> (mostly deprecated)</term> + <listitem> + <para> + + Remove a key from the list of trusted keys. + + </para> + + </listitem> + </varlistentry> + + <varlistentry><term><option>export</option> <option>&synopsis-param-keyid;</option> (deprecated)</term> + <listitem> + <para> + + Output the key &synopsis-param-keyid; to standard output. + + </para> + + </listitem> + </varlistentry> + + <varlistentry><term><option>exportall</option> (deprecated)</term> + <listitem> + <para> + + Output all trusted keys to standard output. + + </para> + + </listitem> + </varlistentry> + + <varlistentry><term><option>list</option>, <option>finger</option> (deprecated)</term> + <listitem> + <para> + + List trusted keys with fingerprints. + + </para> + + </listitem> + </varlistentry> + + <varlistentry><term><option>adv</option> (deprecated)</term> + <listitem> + <para> + Pass advanced options to gpg. With <command>adv --recv-key</command> you + can e.g. download key from keyservers directly into 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> + + <varlistentry><term><option>update</option> (deprecated)</term> + <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 + 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> + </listitem> + </varlistentry> + + <varlistentry><term><option>net-update</option> (deprecated)</term> + <listitem> + <para> + + 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. + + APT in Debian does not support this command, relying on + <command>update</command> instead, but Ubuntu's APT does. + + </para> + + </listitem> + </varlistentry> + </variablelist> +</refsect1> + + <refsect1><title>Options</title> +<para>Note that options need to be defined before the commands described in the previous section.</para> + <variablelist> + <varlistentry><term><option>--keyring</option> <option>&synopsis-param-filename;</option> (deprecated)</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 + <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> + </variablelist> + </refsect1> + + <refsect1><title>Deprecation</title> + + <para>Except for using <command>apt-key del</command> in maintainer scripts, the use of <command>apt-key</command> is deprecated. This section shows how to replace existing use of <command>apt-key</command>.</para> + +<para>If your existing use of <command>apt-key add</command> looks like this:</para> +<para><literal>wget -qO- https://myrepo.example/myrepo.asc | sudo apt-key add -</literal></para> +<para>Then you can directly replace this with (though note the recommendation below):</para> +<para><literal>wget -qO- https://myrepo.example/myrepo.asc | sudo tee /etc/apt/trusted.gpg.d/myrepo.asc</literal></para> +<para>Make sure to use the "<literal>asc</literal>" extension for ASCII armored +keys and the "<literal>gpg</literal>" extension for the binary OpenPGP +format (also known as "GPG key public ring"). The binary OpenPGP format works +for all apt versions, while the ASCII armored format works for apt version >= +1.4.</para> +<para><emphasis>Recommended:</emphasis> Instead of placing keys into the <filename>/etc/apt/trusted.gpg.d</filename> +directory, you can place them anywhere on your filesystem by using the +<literal>Signed-By</literal> option in your <literal>sources.list</literal> and +pointing to the filename of the key. See &sources-list; for details. +Since APT 2.4, <filename>/etc/apt/keyrings</filename> is provided as the recommended +location for keys not managed by packages. +When using a deb822-style sources.list, and with apt version >= 2.4, the +<literal>Signed-By</literal> option can also be used to include the full ASCII +armored keyring directly in the <literal>sources.list</literal> without an +additional file. +</para> + + </refsect1> + + + <refsect1><title>Files</title> + <variablelist> + + &file-trustedgpg; + + </variablelist> + +</refsect1> + +<refsect1><title>See Also</title> +<para> +&apt-get;, &apt-secure; +</para> +</refsect1> + + &manbugs; + &manauthor; + +</refentry> + |