Tar

無法選擇壓縮程序

  • December 16, 2021

使用 tar v1.26 時無法選擇壓縮程序。

雖然這有效

tar -c -I 'xz' -f foo.tar.xz *

這不起作用:

tar -c -I 'xz -T0' -f foo.tar.xz *

tar (child): xz -T0: Cannot exec: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now

你有什麼想法?

您的版本tar不支持使用-I;指定選項 -I參數只能是壓縮器的可執行名稱。這在 1.27 版中已更改。

在您的情況下,您可以按照Romeo Ninovxz的解釋單獨執行,或者您可以使用以下命令指定選項:XZ_OPT

XZ_OPT=-T0 tar -c -I xz -f foo.tar.xz *

我不確定您是否可以xz在執行時提供參數 “in” tar。您可以做的是將tar輸出通過管道傳輸到xz

tar -cf - *|xz -T0 foo.tar.xz

或(不確定如何xz處理文件名)

tar -cf - *|xz -T0 --stdout >foo.tar.xz

這種方法也有並行執行的好處

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