Error trying to unzip file: "need PK compat. v6.1 (can do v4.6)"
Origin of the error
The PK in the error stands for Phil Katz, the inventor of the original PKZIP format. The zip
utility has not kept up with the capabilities of the pkzip
derived commercial software, particularly the certificate storage that banks like to include in their ZIP files.
Wikipedia gives an overview of the development of the format. But the Unix zip
utilities don't implement the changes after the year 2002.
You might have to buy the PKWARE commercial version for Linux to uncompress this.
The man page for zip
has the following to say for itself and unzip
:
A companion program (unzip(1)) unpacks zip archives. The zip and
unzip(1) programs can work with archives produced by PKZIP (supporting
most PKZIP features up to PKZIP version 4.6), and PKZIP and PKUNZIP can
work with archives produced by zip (with some exceptions, notably
streamed archives, but recent changes in the zip file standard may
facilitate better compatibility). zip version 3.0 is compatible with
PKZIP 2.04 and also supports the Zip64 extensions of PKZIP 4.5 which
allow archives as well as files to exceed the previous 2 GB limit (4 GB
in some cases). zip also now supports bzip2 compression if the bzip2
library is included when zip is compiled. Note that PKUNZIP 1.10 can‐
not extract files produced by PKZIP 2.04 or zip 3.0. You must use PKUN‐
ZIP 2.04g or unzip 5.0p1 (or later versions) to extract them.
Solution
Although zip
cannot do the job there are other tools that can. You mention the 7zip utility and the Linux/Unix commandline version of 7-Zip that, among others can read and write ZIP
format. It claims that if 7-Zip cannot read a zip file, that in 99% of the cases the file is broken. 7-Zip utilities should be able to read your file, so either it is broken or else yours are in the 1% (for which I found no further details).
7-zip on Linux comes in various executables with different format support. The most basic ( 7zr
), doesn't support ZIP, you should use at least 7za
or the full-fledged 7z
:
7za x filename.zip
Different Linux version package 7za
/7z
in packages with different names.
The most easy (as so often) is installing on Solus:
sudo eopkg install p7zip
On Debian derived Linux version, the package p7zip
only installs the base 7z
that doesn't support ZIP. This split-up has caused some problems and installing p7zip-full
doesn't do what it says, sometimes you also have to install p7zip-rar
On my Linux Mint system I needed to do:
sudo apt-get install p7zip-full p7zip-rar
On RedHat/CentOS you need to have the EPEL repository enabled. E.g on CentOS 7 I needed to do:
sudo yum install epel-release
sudo yum --enablerepo=epel install p7zip
I ran in to the same problem except with PK compat. v6.3
. Solved it by extracting the archive with the 7-zip POSIX version.
Arch Linux package: p7zip.
I ran into the exact same error code (need PK compat. v6.1
) while trying to unzip a zip file with the default MacOS unzipper.
I tried the p7zip and got kind of deep into it before checking the App Store.
In the App Store, I found a free unzipper app called "Unarchiver" (the first search result as of this writing) and it successfully unzipped the file without any problems.
For Mac users, I'd suggest using that free "Unarchiver" program.