GPG com tar.gz ao mesmo tempo sem o caminho completo sendo empacotado

1

Gostaria de compactar e criptografar uma pasta:

  • tar -cz "/path/to/the/folder/" | gpg --encrypt --passphrase "password" --recipient "[email protected]" > "/destination/package.tar.gz.gpg"

Quando descriptografar e descompactar, ele não contém apenas a "pasta" que eu compactei, mas tem o caminho completo do arquivo: /path/to/the/folder/[whatever]

Eu prefiro evitar o uso de cd , os caminhos absolutos parecem mais claros para mim.

Como removo o caminho completo do arquivo?

    
por Gábor Dani 21.08.2015 / 09:40

1 resposta

1

tar tem um comportamento diferente, dependendo de você executá-lo de uma pasta que não esteja no caminho atual (por exemplo, tar algo em /usr/local/src/foo , estando no seu diretório home /home/alice ), ele armazenará o caminho absoluto no arquivo tar. Se você estiver em alguma pasta no caminho (por exemplo, você deseja tar /usr/local/src/foo enquanto estiver em /use/local/src ), ele usará caminhos relativos a partir do diretório src .

Se você não deseja realmente alterar o diretório para o diretório raiz relativo desejado, use o -C flag, que praticamente o faz dentro de tar . Estes dois são equivalentes:

cd /path/to/the/folder; tar -cz *; cd $OLDPWD
tar -C /path/to/the/folder -cz /path/to/the/folder/

Caso você queira saber: $OLDPWD contém a última pasta antes cd ing.

    
por 05.09.2015 / 17:07