Introduction to GnuPG

The GnuPG package is GNU's tool for secure communication and data storage. It can be used to encrypt data and to create digital signatures. It includes an advanced key management facility and is compliant with the proposed OpenPGP Internet standard as described in RFC2440 and the S/MIME standard as described by several RFCs. GnuPG 2 is the stable version of GnuPG integrating support for OpenPGP and S/MIME.

This package is known to build and work properly using an LFS-7.7 platform.

Package Information

GnuPG 2 Dependencies


Pth-2.0.7, Libassuan-2.2.0, libgcrypt-1.6.2, and Libksba-1.3.2



OpenLDAP-2.4.40, libusb-compat-0.1.5, cURL-7.40.0, GNU adns, an MTA, and texlive-20140525 (or install-tl-unx)

User Notes:

Installation of GnuPG

Install GnuPG by running the following commands:

./configure --prefix=/usr \
            --enable-symcryptrun \
            --docdir=/usr/share/doc/gnupg-2.0.26 &&
make &&

makeinfo --html --no-split -o doc/gnupg_nochunks.html doc/gnupg.texi &&
makeinfo --plaintext       -o doc/gnupg.txt           doc/gnupg.texi

If you have texlive-20140525 installed and you wish to create documentation in alternate formats, issue the following commands:

make -C doc pdf ps html

To test the results, issue: make check.

Note that if you have already installed GnuPG, the instructions below will overwrite /usr/share/man/man1/gpg-zip.1. Now, as the root user:

make install &&

install -v -m755 -d /usr/share/doc/gnupg-2.0.26/html            &&
install -v -m644    doc/gnupg_nochunks.html \
                    /usr/share/doc/gnupg-2.0.26/html/gnupg.html &&
install -v -m644    doc/*.texi doc/gnupg.txt \

We recommend the creation of symlinks for compatibility with the first version of GnuPG, because some programs or scripts need them. Issue, as root user:

for f in gpg gpgv
  ln -svf ${f}2.1 /usr/share/man/man1/$f.1 &&
  ln -svf ${f}2   /usr/bin/$f
unset f

If you created alternate formats of the documentation, install it using the following command as the root user:

install -v -m644 doc/gnupg.html/* \
                 /usr/share/doc/gnupg-2.0.26/html &&
install -v -m644 doc/gnupg.{pdf,dvi,ps} \

Command Explanations

--docdir=/usr/share/doc/gnupg-2.0.26: This switch changes the default docdir to /usr/share/doc/gnupg-2.0.26.

--enable-symcryptrun: This switch enables building the symcryptrun program.


Installed Programs: addgnupghome, applygnupgdefaults, gnupg-pcsc-wrapper, gpg, gpg-agent, gpg-check-pattern, gpg-connect-agent, gpg-preset-passphrase, gpg-protect-tool, gpg2, gpg2keys_curl, gpg2keys_finger, gpg2keys_hkp, gpg2keys_ldap, gpgconf, gpgkey2ssh, gpgparsemail, gpgsm,, gpgv, gpgv2, kbxutil, scdaemon, symcryptrun, and watchgnupg
Installed Libraries: None
Installed Directories: /usr/share/doc/gnupg-2.0.26 and /usr/share/gnupg

Short Descriptions


is used to create and populate user's ~/.gnupg directories


is a wrapper script used to run gpgconf with the --apply-defaults parameter on all user's GnuPG home directories.


is a daemon used to manage secret (private) keys independently from any protocol. It is used as a backend for gpg2 and gpgsm as well as for a couple of other utilities.


is a utility used to communicate with a running gpg-agent.


(optional) is a symlink to gpg2 for compatibility with the first version of GnuPG.


is the OpenPGP part of the GNU Privacy Guard (GnuPG). It is a tool used to provide digital encryption and signing services using the OpenPGP standard.


is a utility used to automatically and reasonable safely query and modify configuration files in the ~/.gnupg home directory. It is designed not to be invoked manually by the user, but automatically by graphical user interfaces.


is a utility currently only useful for debugging. Run it with --help for usage information.


is a tool similar to gpg2 used to provide digital encryption and signing services on X.509 certificates and the CMS protocol. It is mainly used as a backend for S/MIME mail processing.

is a simple tool used to interactively generate a certificate request which will be printed to stdout.


(optional) is a symlink to gpgv2 for compatibility with the first version of GnuPG.


is a verify only version of gpg2.


is used to list, export and import Keybox data.


is a daemon used to manage smartcards. It is usually invoked by gpg-agent and in general not used directly.


is a simple symmetric encryption tool.


is used to listen to a Unix Domain socket created by any of the GnuPG tools.

Last updated on 2015-02-23 21:00:51 -0800