Symptom:
You are trying to extract the archived files off of a huge (any file with size > 2 GB or 4GB, depending on the OS) ZIP file with
unzip
utility on Solaris, and it fails with the following error:
cannot find zipfile directory in one of file.zip or
file.zip.zip, and cannot find file.zip.ZIP, period.
% ls -lh file.zip
-rw-r--r-- 1 oracle dba 13G Sep 8 09:46 file.zip
zipinfo
returns the following message:
$ zipinfo file.zip
[file.zip]
End-of-central-directory signature not found. Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive. In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
zipinfo: cannot find zipfile directory in one of file.zip or
file.zip.zip, and cannot find file.zip.ZIP, period.
Workaround:
Try extracting the files with
jar
tool that comes with the Java Development Kit (JDK). It may work.
Although I'm not sure, I think the 32-bit version of
unzip
(there's no 64-bit version) cannot handle large files of size > 2GB or 4GB. I believe the 32-bit
jar
tool was built with switches like
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
to overcome limitations like the one discussed in this blog entry.
______________
Solaris |
OpenSolaris |
Linux |
Troubleshooting