我需要创建一个包含文件的 tgz 文件,其中包含它们的绝对文件名。
问题是:tgz 的接收方(基于 Linux 的嵌入式产品)需要这样的根层次结构(可用 显示tar tf
):
/usr/foo/bar/
/usr/foo/bar/blabla1
/usr/foo/bar/blabla2
/usr/foo/bar/blabla3
在我这边,我只有一个家和“/home/guillaume/project/totar/usr/foo/”,我无法触及我的根目录。
我该怎么做才能“模拟”tarball中目标的根层次结构并获得与上述相同的文件列表?
我考虑过chroot,但有没有更省力的解决方案?
答案1
tar 的 --transform 选项对我来说非常完美。
--transform=EXPRESSIONR, --xform=EXPRESSION
Use sed replace EXPRESSION to transform file names.