Next: , Previous: GPG Options, Up: Invoking GPG


3.3 Configuration files

There are a few configuration files to control certain aspects of gpg2's operation. Unless noted, they are expected in the current home directory (see option –homedir).

gpg.conf
This is the standard configuration file read by gpg2 on startup. It may contain any valid long option; the leading two dashes may not be entered and the option may not be abbreviated. This default name may be changed on the command line (see gpg-option –options). You should backup this file.

Note that on larger installations, it is useful to put predefined files into the directory /etc/skel/.gnupg/ so that newly created users start up with a working configuration. For existing users the a small helper script is provided to create these files (see addgnupghome).

For internal purposes gpg2 creates and maintains a few other files; They all live in in the current home directory (see option –homedir). Only the gpg2 may modify these files.

~/.gnupg/secring.gpg
The secret keyring. You should backup this file.
~/.gnupg/secring.gpg.lock
The lock file for the secret keyring.
~/.gnupg/pubring.gpg
The public keyring. You should backup this file.
~/.gnupg/pubring.gpg.lock
The lock file for the public keyring.
~/.gnupg/trustdb.gpg
The trust database. There is no need to backup this file; it is better to backup the ownertrust values (see option –export-ownertrust).
~/.gnupg/trustdb.gpg.lock
The lock file for the trust database.
~/.gnupg/random_seed
A file used to preserve the state of the internal random pool.
/usr[/local]/share/gnupg/options.skel
The skeleton options file.
/usr[/local]/lib/gnupg/
Default location for extensions.

Operation is further controlled by a few environment variables:

HOME
Used to locate the default home directory.
GNUPGHOME
If set directory used instead of "~/.gnupg".
GPG_AGENT_INFO
Used to locate the gpg-agent. The value consists of 3 colon delimited fields: The first is the path to the Unix Domain Socket, the second the PID of the gpg-agent and the protocol version which should be set to 1. When starting the gpg-agent as described in its documentation, this variable is set to the correct value. The option --gpg-agent-info can be used to override it.
PINENTRY_USER_DATA
This value is passed via gpg-agent to pinentry. It is useful to convey extra information to a custom pinentry.
COLUMNS
LINES
Used to size some displays to the full size of the screen.
LANGUAGE
Apart from its use by GNU, it is used in the W32 version to override the language selection done through the Registry. If used and set to a valid and available language name (langid), the file with the translation is loaded from

gpgdir/gnupg.nls/langid.mo. Here gpgdir is the directory out of which the gpg binary has been loaded. If it can't be loaded the Registry is tried and as last resort the native Windows locale system is used.