Diferentes utilitários de tar se comportam de maneira diferente nesse sentido, por isso é bom ter cuidado. Para um arquivo tar que você não criou, sempre liste o índice antes de extraí-lo.
The named files are extracted from the tarfile and written to the directory specified in the tarfile, relative to the current directory. Use the relative path names of files and directories to be extracted.
Absolute path names contained in the tar archive are unpacked using the absolute path names, that is, the leading forward slash (/) is not stripped off.
No caso de um arquivo tar com nomes de caminhos completos (absolutos), como:
/tmp/real-file
/etc/sneaky-file-here
... se você extrair esse arquivo, você acabará com os dois arquivos.
By default, GNU tar drops a leading
/
on input or output, and complains about file names containing a..
component. There is an option that turns off this behavior:
--absolute-names
-P
Do not strip leading slashes from file names, and permit file names containing a
..
file name component.
... se você extrair um arquivo tar com caminho completo usando o tar do GNU sem usando a opção -P
, ele informará:
tar: Removing leading
/
from member names
e irá extrair o arquivo em subdiretórios do seu diretório atual.
AIX tar :
não diz nada sobre isso, e se comporta como o Solaris tar - ele irá criar e extrair arquivos tar com nomes completos / absolutos.
tar HP-UX : (melhor referência online bem-vinda)
WARNINGS
There is no way to restore an absolute path name to a relative position.
-P
Do not strip leading slashes (
/
) from pathnames. The default is to strip leading slashes.
Existem -P
opções implementadas para tar
no macOS, FreeBSD e NetBSD, com a mesma semântica, com a adição de tar
em FreeBSD e o macOS "recusarão-se a extrair entradas de arquivo cujos nomes de caminho contenham ..
ou
cujo diretório de destino seria alterado por um link simbólico "sem -P
.
-/
Don't strip leading slashes from file names when extracting an archive. Tar archives containing absolute pathnames are usually a bad idea. With other tar implementations, they may possibly never be extracted without clobbering existing files. Star for that reason, by default strips leading slashes from filenames when in extract mode.