尝试解压缩文件时出错:“需要PK兼容。v6.1(可以执行v4.6)”


24

我收到了银行的压缩文件。尝试解压缩时出现以下错误。

unzip filename.zip 
Archive:  filename.zip
   skipping: SOME_STUFF.pdf  need PK compat. v6.1 (can do v4.6)

file命令返回

Zip archive data

该文件。

有很多线程包含此错误消息,但是它们唯一的具体建议是使用包7z x7za xp7zip-full包中获取。这些失败并显示以下错误:

Unsupported Method

Sub items Errors: 1

我正在使用Debian Wheezy amd64。我在测试/不稳定中看不到unzip7za软件包的重大更新。

我很乐意提供有关如何解压缩此文件的建议,更一般地说,错误消息PK compat. v6.1 (can do v4.6)是什么意思?对于广泛使用的实用程序,zip没有太多可用的文档。Debian来源中的README文件指向http://www.info-zip.org/pub/infozip/,其中列出了日期为2009年4月29日的UnZip 6.0。

这是unzip系统上二进制文件的版本输出。

unzip -v
UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP.

Latest sources and executables are at ftp://ftp.info-zip.org/pub/infozip/ ;
see ftp://ftp.info-zip.org/pub/infozip/UnZip.html for other sites.

Compiled with gcc 4.7.2 for Unix (Linux ELF) on Feb  3 2015.

UnZip special compilation options:
        ACORN_FTYPE_NFS
        COPYRIGHT_CLEAN (PKZIP 0.9x unreducing method not supported)
        SET_DIR_ATTRIB
        SYMLINKS (symbolic links supported, if RTL and file system permit)
        TIMESTAMP
        UNIXBACKUP
        USE_EF_UT_TIME
        USE_UNSHRINK (PKZIP/Zip 1.x unshrinking method supported)
        USE_DEFLATE64 (PKZIP 4.x Deflate64(tm) supported)
        UNICODE_SUPPORT [wide-chars, char coding: UTF-8] (handle UTF-8 paths)
        LARGE_FILE_SUPPORT (large files over 2 GiB supported)
        ZIP64_SUPPORT (archives using Zip64 for large files supported)
        USE_BZIP2 (PKZIP 4.6+, using bzip2 lib version 1.0.6, 6-Sept-2010)
        VMS_TEXT_CONV
        WILD_STOP_AT_DIR
        [decryption, version 2.11 of 05 Jan 2007]

UnZip and ZipInfo environment options:
           UNZIP:  [none]
        UNZIPOPT:  [none]
         ZIPINFO:  [none]
      ZIPINFOOPT:  [none]

dpkg将软件包版本报告为6.0-8+deb7u2

输出zipinfo为:

zipinfo filename.zip 
Archive:  filename.zip
Zip file size: 6880 bytes, number of entries: 1
-rw-a--     6.4 fat    10132 Bx defN 15-Feb-06 16:24 SOME_STUFF.pdf
1 file, 10132 bytes uncompressed, 6568 bytes compressed:  35.2%

我遇到了这个错误报告,建议p7zip-rar您在7z出现错误时在Debian 上安装。
Anthon

Answers:


30

错误来源

错误中的PK代表原始PKZIP格式的发明者Phil Katz。该zip实用程序没有跟上pkzip衍生的商业软件的功能,尤其是银行希望在其ZIP文件中包括的证书存储。

维基百科概述了该格式的发展。但是Unix zip实用程序在2002年之后没有实现更改。

您可能需要购买Linux的PKWARE 商业版本才能解压缩。

的手册页zip具有以下内容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.

尽管zip无法完成工作,但还有其他工具可以。您提到了7zip实用程序和7-Zip的Linux / Unix命令行版本,其中的其他版本可以读取和写入ZIP格式。它声称,如果7-Zip无法读取zip文件,则在99%的情况下该文件已损坏。7-Zip实用程序应该能够读取您的文件,因此它已损坏或者您的文件占1%(我没有找到更多详细信息)。

Linux上的7-zip包含各种具有不同格式支持的可执行文件。最基本的(7zr),不支持ZIP,您应至少使用7za或完整的7z

7za x filename.zip

不同的Linux版本软件包7za/ 7z具有不同名称的软件包。

最简单(通常如此)是在Solus上安装:

sudo eopkg install p7zip

在Debian衍生的Linux版本上,该软件包p7zip仅安装7z不支持ZIP的基础。这种分裂导致了一些问题,并且安装p7zip-full没有按照其说明进行,有时您还必须p7zip-rar在需要执行的Linux Mint系统上安装

sudo apt-get install p7zip-full p7zip-rar

在RedHat / CentOS上,您需要启用EPEL存储库。例如,在CentOS 7上,我需要执行以下操作:

sudo yum install epel-release
sudo yum --enablerepo=epel install p7zip

谢谢,Anthon,这非常有用。您知道为什么zip实用程序没有跟上吗?与此相关的是,我是否可以告诉我的银行使用任何受密码保护的传输方法,而这种方法可能会对不使用专有软件的基于Linux的系统起作用?
Faheem Mitha 2015年

@FaheemMitha我的猜测是pkware希望赚更多的钱,并且没有透露更新格式的细节,也没有将代码发布为开源。我不认为您的银行会为您而改变,几年来我一直遇到一些问题,即有些不合格的PDF文件无法读取,我最终启动了WinXP VM。
Anthon

我不希望银行为我做任何事情。:-)但是我认为如果有其他替代方法可用,他们可能会考虑使用它。在这种情况下,此压缩文件未通过某种自动方法发送给我。它是应我的要求由一个人发送给我的。
Faheem Mitha 2015年

PKWare公开记录“ APPNOTES”文件中指定的ZIP格式。@Anthon
eckes

9

除了,我遇到了同样的问题PK compat. v6.3。通过提取7-zip POSIX版本的存档来解决该问题。

Arch Linux软件包:p7zip


1
对我来说,使用7zip是最佳选择。即7z x archive.zip
Matt H

3

need PK compat. v6.1尝试使用默认的MacOS解压缩器解压缩zip文件时遇到了完全相同的错误代码()。

我尝试了p7zip,并在检查App Store之前对其进行了深入研究。

在App Store中,我找到了一个名为“ Unarchiver”的免费解压缩应用程序(本文撰写时的第一个搜索结果),它成功解压缩了文件,没有任何问题。

对于Mac用户,建议使用免费的“ Unarchiver”程序。


这不会帮助的OP,在这里,谁在使用Debian ...
杰夫·夏勒

1
@JeffSchaller OP进行了很长时间。:-)即使Mac没有直接回答问题,我也可以接受。也许对某人有用。
Faheem Mitha

我认为这在Mac问题(问不同吗?)上很有用(发现)
Jeff Schaller

2
@JeffSchaller好吧,如果有人搜索错误消息,他们很可能会在这个问题上迷失方向。
Faheem Mitha

我同意,我们应该记住,SO对于类似于原始问题的问题也很有用,如果针对每个不同的操作系统都存在这样的问题,那实际上会更糟……
Francesco Marchetti-Stasi
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.