Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos tar——OSX上的使用压缩程序已损坏_Macos_Tar - Fatal编程技术网

Macos tar——OSX上的使用压缩程序已损坏

Macos tar——OSX上的使用压缩程序已损坏,macos,tar,Macos,Tar,我通过自制在Macbook Air(OS X 10.10.5)上安装了pigz,以获得更好的压缩/解压缩性能 要压缩,我使用tar——使用compressprogram=pigz-cf test.tgz test,这样就可以了 但是解压命令,tar--use compress program=pigz-xf test.tgz输出错误: tar:无法识别的存档格式 tar:由于以前的错误而延迟的错误退出。 或者有时它输出: tar:无法识别的存档格式 pigz:中止:写入错误(管道断裂) t

我通过自制在Macbook Air(OS X 10.10.5)上安装了pigz,以获得更好的压缩/解压缩性能

要压缩,我使用
tar——使用compressprogram=pigz-cf test.tgz test
,这样就可以了

但是解压命令,
tar--use compress program=pigz-xf test.tgz
输出错误:

tar:无法识别的存档格式
tar:由于以前的错误而延迟的错误退出。
或者有时它输出:

tar:无法识别的存档格式
pigz:中止:写入错误(管道断裂)
tar:子进程已退出,状态为32
tar:由于以前的错误而延迟的错误退出。

我读了这本书,不知道为什么它不起作用

我注意到,即使是
tar--use compress program=gzip-xf test.tgz
也会产生相同的错误。那么这是OSX的tar实现的一个bug吗


注意:我知道pipStyle
pigz-dtest.tgz | tar-xf
可以工作,在这种情况下,我也可以使用调用内置gzip的
tar-xf test.tgz
。但是我只想确认它是否是一个bug。

程序按照设计工作:在其命令行中没有提供使用
gzip
进行解压缩所需的选项。解压时不应使用“gzip”,而应使用包装的
gzcat
,例如

tar --use-compress-program gzip -cf foo.compressed foo
tar --use-compress-program gzcat -tf foo.compressed
快速检查表明此操作不起作用:

tar --use-compress-program 'gzip -d' -tf foo.compress
虽然这可能会改变一些时间(这是可行的,但没有做到)


根据pigz的说法,它有
unpigz
,这就是你可以用于该程序的东西。

在linux上,我将gzip重命名为gzip.sav,并与pigz建立了软链接,因此tar、dolphin、yum和任何其他调用gzip的程序实际上都会调用pigz

这是BSD tar和GNU tar之间的问题

我通过从homebrew安装
gnu tar
并将其放在路径上解决了这个问题

请参阅有关超级用户的类似问题: