How to prevent gpg from creating .gnupg directory in user's home directory
You can pass it the
--homedir argument or use the
GNUPGHOME environment variable to have it use another directory instead of
.gnupg. If you're scripting this, you could create a temporary directory:
GNUPGHOME=$(mktemp -d $HOME/.gnupgXXXXXX) export GNUPGHOME
And then clean up when you're done:
gpg ... rm -rfi $GNUPGHOME
"How to prevent gpg from creating .gnupg directory"
I had the same issue as described in the question title while checking some key fingerprints on a read-only mounted disk.
The solution I used was adding the
--no-options flag to the
gpg --no-options \ --with-fingerprint /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
As per manual:
Shortcut for --options /dev/null. This option is detected before an attempt to open an option file. Using this option will also prevent the creation of a ~/.gnupg homedir.
If gpg still prints errors that it cannot read user's public and secret keyrings, the redirection
2>/dev/null will suppress these. Note, however, that exit code of the command may be non-zero in this case, even though the key information is printed.