Next: GPG Examples, 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 option –options).

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.
`~/.gnupg/secring.gpg.lock`
  and the lock file
`~/.gnupg/pubring.gpg`
  The public keyring
`~/.gnupg/pubring.gpg.lock`
  and the lock file
`~/.gnupg/trustdb.gpg`
  The trust database
`~/.gnupg/trustdb.gpg.lock`
  and the lock file
`~/.gnupg/random_seed`
  used to preserve the internal random pool
`/usr[/local]/share/gnupg/options.skel`
  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 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 laoded. If it can't be loaded the Registry is tried and as last resort the native Windows locale system is used.