Its a common problem that, when unzipping (read: 'open by double-click'), some .zip
files result in a similar sized .cpgz
file. But you expected an unzipped file or folder instead.
The default unzip program in OS X is '/System/Library/CoreServices/Archive Utility.app'
When you try to unzip it in the Terminal (/usr/bin/unzip
) you see the following:
$ 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)
I have Mavericks 10.9.5 running, and a unzip -v
learns us we are on version 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.
...
The funny thing is, the same 'corrupt' zip file extracts fine on my CentOS system. There is no error and the file seems fine. My CentOS system runs unzip version 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.
...
My question: How can I update my version of unzip
to version 6.00 or higher?
And affiliated question: Will my new version of OS X unzip also have affect on the default unzip 'Archive Utility.app'?
ps. I prefer the use of a package manager like brew
above compiling from source. brew install unzip
results in: Error: No available formula for unzip
Best Answer
Using Homebrew (as requested):
This will install unzip at (considering defaults)
/usr/local/Cellar/unzip/6.0/bin/unzip
You can then alias it as
unzip6
somewhere in your path.Also, you may want to to try "The Unarchiver" from the app store. Much more useful IMO then Apple's Archive Utility.
UPDATE
dupes has been deprecated in Homebrew, so
brew tap homebrew/dupes
is no longer necessary. All you need now (assuming Homebrew is installed) is:Then you can add a link to
/usr/local/bin
with:Now the system
unzip
should work withunzip
and Version 6 will work withunzip6