在我的 Mac (OSX 10.12.x) 上,什么调用将使用 LZMA 压缩 tar 输出?

在我的 Mac (OSX 10.12.x) 上,什么调用将使用 LZMA 压缩 tar 输出?

我已尝试多次调用 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

如果您想使用任何并行压缩机来加速,这也可能适用。

相关内容