gpgはパイプの代わりに一時ファイルを使用します。

gpgはパイプの代わりに一時ファイルを使用します。

私は/root読み取り専用でインストールしました。gpg以下のように暗号化された電子メールを送信するスクリプトがあります。

echo "hello" | gpg --no-verbose -e -a -r [email protected] | mail [email protected]

しかし、エラーが発生します。

gpg: failed to create temporary file `/root/.gnupg/.#dkflsfj': Read-only file system

gpg一時ファイルを使用しないようにどうすればわかりますか?use-temp-filesオプションが見つかりました。マニュアルページ:

use-temp-files

    ほとんどのUnixファミリープラットフォームでは、GnuPGは最も効率的な方法であるパイプを介してキーサーバーヘルパーと通信します。このオプションは、GnuPGが通信に一時ファイルを使用することを強制します。 Win32やRISC OSなどの一部のプラットフォームでは、このオプションは常に有効になっています。

私の設定では、このオプションは有効になっていません。もちろん、デフォルトで設定されています。このオプションを「無効」にする方法はありますか?このオプションはno-use-temp-files何の効果もないようです。

echo "asdf" | gpg --keyserver-options no-use-temp-files -e -a -r [email protected]

それでも同じエラーが発生します。gpg: failed to create temporary file `/root/.gnupg/.#jkfjg': Read-only file systemと言うと--no-use-temp-filesエラーが発生しますgpg: Invalid option "--no-use-temp-files"

この問題を解決する他の方法はありますか?

ベストアンサー1

ファイルのロックを--lock-never試みないようにするオプションを使用してこの問題を解決しました。gpg

おすすめ記事