Tar

什麼呼叫將使用 LZMA 在我的 Mac (OSX 10.12.x) 上壓縮 tar 輸出?

  • May 1, 2019

我已嘗試多次呼叫 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.

我應該使用什麼呼叫,也許是管道tarlzma也許是在腳本中執行“tar czf foo.tgz foo”的工作,但使用lzma而不是gzip壓縮?

使用時tar後面的第一個字-f是輸出文件名。在您的情況下,切換選項的順序可能就足夠了:

tar -c --lzma -f foo.tar.lzma sourcefile(s)

我同意德雷本的觀點,

萬一它也可能起作用

tar c files folders/ | lzma --options-here > foo.tar.lzma

如果您想使用任何並行壓縮器來加速事情,這也可能適用。

引用自:https://unix.stackexchange.com/questions/382446