tar.gz 无法在 Mac OS X 上提取

tar.gz 无法在 Mac OS X 上提取

为什么这不起作用?

sh-3.2# tar -xzf postgresql-7.4.28.tar.gz 
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error exit delayed from previous errors

答案1

这意味着它实际上不是一个经过 gzip 压缩的文件。使用file实用程序查明它到底是什么,然后使用适当的标志来tar解压它。

答案2

可能发生的情况是您的浏览器在传输过程中解压缩了文件。发生这种情况是因为 gzip 是 HTTP 服务器将数据发送到浏览器的方式之一,因此浏览器会解压缩数据以便正确显示。

您可以尝试使用file命令来查看它是什么。或者,您也可以直接跳到正题,尝试按如下方式解包:tar xf postgresql-7.4.28.tar.gz

答案3

首先,检查文件大小和 MD5 值是否正确,也许下载的文件已损坏或存在某些 HTML 错误。本网站表示 MD5 和应为fed173049eda38ce6c3348e277fabec7。如果您愿意,也可以使用 sha1sum。

如果这是正确的,则该文件不是正确的 .tar.gz 存档,您应该使用其他程序来检测文件类型或解压缩它,但我对此表示怀疑。

编辑:在 Windows 下尝试使用 7-Zip,效果很好。结果是一个大小为 54.298.624 字节的 TAR 文件,最终提取结果为 2.761 个文件和 309 个文件夹...也许你应该尝试使用p7zip对于 Mac OS X。如果此方法有效,那么可能是您的 tar/gzip 出现了问题,您应该尝试重新安装软件包。

答案4

我能够使用原始海报的命令提取 postgresql-7.4.28.tar.gz 档案(具有上面提到的 MD5 fed173049eda38ce6c3348e277fabec7):

tar -xzf postgresql-7.4.28.tar.gz

...所以我预计我们会听到 MD5 不匹配。

相关内容