gpg usa arquivos temporários, em vez de pipe

0

Eu tenho meu /root montado como read-only . Eu tenho um script que envia um email criptografado usando gpg . algo como o seguinte:

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

Mas recebo um erro:

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

Como posso dizer a gpg para não usar arquivos temporários? Eu encontrei uma opção use-temp-files em man gpg

use-temp-files
On  most Unix-like platforms, GnuPG communicates with the keyserver helper program 
via pipes, which is the most efficient method. This option forces GnuPG to use 
temporary files to communicate. On some platforms (such as Win32  and  RISC  OS),
this  option  is  always enabled.

Eu não tenho essa opção ativada na minha configuração. Aparentemente, é definido por padrão. Existe alguma maneira que eu poderia "negar" essa opção? Ou alguma outra maneira de corrigir esse problema?

UPDATE : a opção no-use-temp-files parece não ter nenhum efeito:

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

Eu ainda recebo o mesmo erro: gpg: failed to create temporary file / root / .gnupg /.# jkfjg ': sistema de arquivos somente leitura'

    
por Martin Vegter 16.11.2013 / 11:17

2 respostas

2

Eu resolvi o problema usando --lock-never option, o que impede que gpg tente bloquear o arquivo.

    
por 17.11.2013 / 19:27
1

A opção pode ser desativada adicionando o prefixo "no -"

--keyserver-options name=value1

This is a space or comma delimited string that gives options for the keyserver. Options can be prefixed with a 'no-' to give the opposite meaning.

    
por 16.11.2013 / 12:02

Tags