如何将我的`unzip`版本更新为6.00或更高版本?


8

这是一个常见的问题,当解压缩(阅读:“双击打开”)时,某些.zip文件会导致大小相似的.cpgz文件。但是您希望使用解压缩的文件或文件夹。

OS X中的默认解压缩程序是“ / System / Library / CoreServices / Archive Utility.app”

当您尝试在终端(/usr/bin/unzip)中解压缩时,会看到以下内容:

$ unzip SE.zip

Archive:  SE.zip
warning [SE.zip]:  zipfile claims to be last disk of a multi-part archive;
  attempting to process anyway, assuming all parts have been concatenated
  together in order.  Expect "errors" and warnings...true multi-part support
  doesn't exist yet (coming soon).
error [SE.zip]:  missing 8256083459 bytes in zipfile
  (attempting to process anyway)
error [SE.zip]:  attempt to seek before beginning of zipfile
  (please check that you have transferred or created the zipfile in the
  appropriate BINARY mode and that you have compiled UnZip properly)

我正在运行Mavericks 10.9.5,并且unzip -v了解到我们在5.52版上:

$ unzip -v
UnZip 5.52 of 28 February 2005, by Info-ZIP.  Maintained by C. Spieler. Send
bug reports using http://www.info-zip.org/zip-bug.html; see README for details.
...

有趣的是,相同的“腐败” zip文件在我的CentOS系统上提取得很好。没有错误,文件似乎正常。我的CentOS系统运行6.00版本的解压缩:

$ unzip -v
UnZip 6.00 of 20 April 2009, by Info-ZIP.  Maintained by C. Spieler.  Send
bug reports using http://www.info-zip.org/zip-bug.html; see README for details.
...

我的问题:如何将我的版本更新unzip为6.00或更高版本?

和相关的问题:我的OS X新版本解压缩还会对默认的解压缩“ Archive Utility.app”产生影响吗?

ps。我更喜欢使用像brew上面这样从源代码编译的包管理器。brew install unzip结果是:Error: No available formula for unzip


使用Macports,它确实具有6.0版解压缩:)
2014年

哈哈Brew与Macports ...我的系统已经被Brew腌制了。但是也许我可以检查来源。不管怎么说,还是要谢谢你!
CousinCocaine 2014年

您的“附属”问题是否得到了回答?“我的新版本的OS X解压缩还会对默认的解压缩'Archive Utility.app'产生影响吗?” 我想知道同样的事情。
EJ Mak

Answers:


8

使用自制程序(根据要求):

$ brew tap homebrew/dupes
$ brew install unzip

这将在以下位置安装解压缩(考虑默认值) /usr/local/Cellar/unzip/6.0/bin/unzip

然后,您可以将其别名为unzip6路径中的某个位置。

另外,您可能想从应用商店尝试“ Unarchiver”。IMO比Apple的Archive Utility有用得多。

更新

在Homebrew中不推荐使用dupes,因此brew tap homebrew/dupes不再需要。您现在所需要的(假设已安装Homebrew)是:

brew install unzip

然后,您可以添加一个链接至/usr/local/bin

ln -s /usr/local/opt/unzip/bin/unzip /usr/local/bin/unzip6

现在系统unzip应该可以使用,unzip而版本6将可以使用unzip6


我错过了brew tap homebrew/dupes。不知道这是什么,但是现在我可以进行brew install解压缩了。一群。
CousinCocaine 2014年

尽管我现在已经可以正常工作地解压缩6.0.0,但正如我想要的那样,现在我遇到了一个新错误。也许您可以为我提供帮助,但这超出了本主题。skipping: foobar need PK compat. v4.5 (can do v2.1)压缩文件中的每个文件。
CousinCocaine 2014年

无法解决问题,尽管我猜测是使用PKZip压缩了文件,并且做了一些... 独特的工作
sdmeyers 2014年

顺便说一句,tap命令打开brew中的新应用程序,这些新应用程序由于各种原因而未设置为默认应用程序(特别是添加了新的特定自制git repo)。这包括诸如dupesgames,和php
sdmeyers

1
@EJMak使用Unarchiver应用程序可能是最好的选择。就是说...当Homebrew安装MacOS已有的内容(即unzip)时,它不会链接它,因此很容易使用。如果是unzipHomebrew,则将其安装到/usr/local/opt/unzip/bin/unzip。要创建别名链接,请使用以下命令(从命令行(terminal.app))ln -s /usr/local/opt/unzip/bin/unzip /usr/local/bin/unzip6。假设/ usr / local / bin在您的路径中,则可以unzip6从命令行使用它或unzip使用Mac默认设置。
sdmeyers

3

您可能会发现p7zip可以满足您的需求。使用brew install p7zip进行安装,然后运行7z -h以获取一些帮助。

7z t在撰写本文时,我使用的是20GB的zip文件,以测试其完整性。Unzip 5.52和Unzip 6.0都被阻塞了。


是! 例如,p7zip可以很好地解压缩5 GB以上的Microsoft IE VM映像。
亚历山德罗·韦尔内

不错,但不能回答问题。
EJ Mak,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.