gpg
gpg usa i file temporanei invece delle pipe
Ho il mio /root
montato in sola lettura. Ho uno script che invia un'e-mail crittografata usando gpg
; qualcosa come il seguente:
echo "hello" | gpg --no-verbose -e -a -r martin.com | mail martin.com
Ma ricevo un errore:
gpg: failed to create temporary file `/root/.gnupg/.#dkflsfj': File system di sola lettura
Come posso dire a gpg
di non utilizzare file temporanei? Ho trovato un'opzione use-temp-files
nella pagina man :
use-temp-files
Sulla maggior parte delle piattaforme simili a Unix, GnuPG comunica con il programma di supporto del server delle chiavi tramite pipe, che è il metodo più efficiente. Questa opzione obbliga GnuPG a usare file temporanei per comunicare. Su alcune piattaforme (come Win32 e RISC OS), questa opzione è sempre abilitata.
Non ho questa opzione abilitata nella mia configurazione. Apparentemente, è impostato di default. C'è un modo per "negare" questa opzione? L'opzione no-use-temp-files
non sembra avere alcun effetto:
echo "asdf" | gpg --keyserver-options no-use-temp-files -e -a -r martin.com
Ricevo ancora lo stesso errore: gpg: failed to create temporary file `/root/.gnupg/.#jkfjg': Read-only file system
e se dico --no-use-temp-files
, ottengo un errore : gpg: Invalid option "--no-use-temp-files"
.
C'è un altro modo per risolvere questo problema?
Ho risolto il problema utilizzando l'opzione --lock-never
, che impedisce a gpg
di tentare di bloccare il file.
L'opzione può essere disattivata aggiungendo il prefisso "no-".
--keyserver-options name=value1
È una stringa delimitata da spazi o da virgole che fornisce opzioni per il keyserver.Le opzioni possono essere precedute da un `no-' per dare il significato opposto.