我已尝试多次调用 OEM tar 来创建 LZMA 压缩的 tarball。更具体地说,我尝试过:
tar -c -f --lzma Windows\ 7.vmwarevm.tar.lzma Windows\ 7.vmwarevm
我的努力创建了一个带有 filename 的存档--lzma
,而 tar 抱怨Windows 7.vmwarevm.tar.lzma
: Cannot stat: No such file or directory
,可能出于同样的原因:--lzma
被视为要创建的存档的文件名,因此实际预期的存档名称被视为参数列表中的第一个包含在存档中。
经过一番搜索后,我认为 MacOS 没有将其包含在提供的选项中,因此从头开始构建了 GNU tar,并将其以另一个名称存储在/usr/local/bin
.然而,我将上述调用与重命名和新建一起使用的努力tar
产生了相同的效果:我正在以--lzma
.
我的电脑似乎可以正常工作/usr/local/bin/lzma
。
我应该使用什么调用,也许通过管道传输tar
到脚本中lzma
,或者在脚本中执行“tar czf foo.tgz foo”的工作,但使用lzma
而不是gzip
用于压缩?
答案1
使用时tar
,将之后的第一个词-f
是输出文件名。在您的情况下,切换选项的顺序可能就足够了:
tar -c --lzma -f foo.tar.lzma sourcefile(s)
答案2
我同意德鲁本的观点,
它也可能适用于
tar c files folders/ | lzma --options-here > foo.tar.lzma
如果您想使用任何并行压缩机来加速,这也可能适用。