O mais próximo que eu posso encontrar é a opção --transform
. Eu não sei ao certo, mas estou supondo que este é apenas um sinalizador do GNU:
--transform, --xform EXPRESSION
use sed replace EXPRESSION to transform file names
Usando isso, você pode passar um comando sed
de substituição e alterar o /
para /abc
:
tar cf root.tgz --transform 's/^\//\/abc/' /
Isso ainda imprimirá /
caminhos ao criar o arquivo, mas eles se tornarão /abc
quando você o extrair.
Outra abordagem, se a sua tar
não tiver a opção --transform
, é tornar /abc
um link simbólico apontando para /
e, em seguida, tar que:
$ ln -s / /abc
$ tar chf root.tgz /abc
O -h
é essencial, pois é isso que informa o tar
a seguir os links:
-h, --dereference
follow symlinks; archive and dump the files they point to
Isso terá o efeito de definir /abc
como o diretório de nível superior.