gpg

gpg verwendet temporäre Dateien anstelle der Pipe

Ich habe mein /root als schreibgeschützt gemountet. Ich habe ein Skript, das eine verschlüsselte E-Mail mit gpg sendet ; etwas wie das Folgende:

echo "hello" | gpg --no-verbose -e -a -r martin.com | mail martin.com

Aber ich erhalte eine Fehlermeldung:

gpg: failed to create temporary file `/root/.gnupg/.#dkflsfj': Nur-Lese-Dateisystem

Wie kann ich gpg anweisen , keine temporären Dateien zu verwenden? Ich habe eine Option use-temp-files in der Manpage gefunden :

use-temp-files

    Auf den meisten Unix-ähnlichen Plattformen kommuniziert GnuPG mit dem Keyserver-Hilfsprogramm über Pipes, was die effizienteste Methode ist. Diese Option zwingt GnuPG, temporäre Dateien für die Kommunikation zu verwenden. Auf einigen Plattformen (z. B. Win32 und RISC OS) ist diese Option immer aktiviert.

Ich habe diese Option in meiner Konfiguration nicht aktiviert. Anscheinend ist es standardmäßig eingestellt. Gibt es eine Möglichkeit, diese Option zu "negieren"? Die Option no-use-temp-files scheint keine Wirkung zu haben:

echo "asdf" | gpg --keyserver-options no-use-temp-files -e -a -r martin.com

Ich bekomme immer noch den gleichen Fehler: gpg: failed to create temporary file `/root/.gnupg/.#jkfjg': Read-only file system , und wenn ich sage --no-use-temp-files , erhalte ich eine Fehlermeldung : gpg: Invalid option "--no-use-temp-files" .

Gibt es eine andere Möglichkeit,dieses Problem zu beheben?


Ich habe das Problem mit der Option --lock-never gelöst , die verhindert, dass gpg versucht, die Datei zu sperren.




Die Option kann durch Hinzufügen des Präfixes "no-" deaktiviert werden.

--keyserver-options name=value1

Dies ist eine durch Leerzeichen oder Kommata getrennte Zeichenfolge,die Optionen für den Keyserver enthält.Den Optionen kann ein "no-" vorangestellt werden,um die gegenteilige Bedeutung zu erhalten.