Tar
什麼呼叫將使用 LZMA 在我的 Mac (OSX 10.12.x) 上壓縮 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
壓縮?
使用時
tar
,後面的第一個字-f
是輸出文件名。在您的情況下,切換選項的順序可能就足夠了:tar -c --lzma -f foo.tar.lzma sourcefile(s)
我同意德雷本的觀點,
萬一它也可能起作用
tar c files folders/ | lzma --options-here > foo.tar.lzma
如果您想使用任何並行壓縮器來加速事情,這也可能適用。