Можно ли задать структуру каталогов внутри архива с помощью параметров tar?

При создании архива командой

tar -czvf file.txt.tar.gz /tmp/file.txt

в архиве файл так же будет лежать по пути /tmp/file.txt.

Можно ли как-то в параметрах задать свою структуру каталогов внутри архива? Чтобы, например, было не /tmp/file.txt, а /home/vasya/file.txt?


Ответы (1 шт):

Автор решения: Alexey Ten

В GNU tar есть опция --transform (--xform)

https://linux.die.net/man/1/tar

Пример:

/var/tmp/x $ tar czf a.tgz -P --owner=0 --group=0 --xform s~tmp~home/vasya~ /tmp/file.txt 
/var/tmp/x $ tar tvf a.tgz -P
-rw-rw-r-- root/root         0 2021-02-10 16:38 /home/vasya/file.txt
→ Ссылка