Error al intentar descomprimir el archivo: “necesita PK compat. v6.1 (puede hacer v4.6) "

24

Recibí un archivo zip de un banco. Recibo el siguiente error cuando intento descomprimirlo.

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

El filecomando regresa

Zip archive data

para este archivo

Hay un buen número de hilos que contienen este mensaje de error, pero las únicas sugerencias concretas que tienen es usar 7z xo 7za xdesde el p7zip-fullpaquete. Estos fallan con el error:

Unsupported Method

Sub items Errors: 1

Estoy usando Debian wheezy amd64. Sin embargo , no veo actualizaciones significativas de los paquetes unzipo 7zaen pruebas / inestables.

Agradecería sugerencias sobre cómo descomprimir este archivo y, en general, ¿qué significa el mensaje de error PK compat. v6.1 (can do v4.6)? Para una utilidad ampliamente utilizada, zipno hay mucha documentación disponible al respecto. El archivo README en las fuentes de Debian apunta a http://www.info-zip.org/pub/infozip/ que enumera un lanzamiento con fecha del 29 de abril de 2009 para UnZip 6.0.

Aquí está la salida de la versión para el unzipbinario en mi sistema.

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 informa la versión del paquete como 6.0-8+deb7u2.

La salida de zipinfoes:

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%
Faheem Mitha
fuente
Encontré este informe de error que sugiere instalar p7zip-raren Debian en caso de que obtenga el 7zerror que recibió.
Anthon

Respuestas:

30

Origen del error.

El PK en el error significa Phil Katz, el inventor del formato original PKZIP. La ziputilidad no se ha mantenido al día con las capacidades del pkzipsoftware comercial derivado, particularmente el almacenamiento de certificados que a los bancos les gusta incluir en sus archivos ZIP.

Wikipedia ofrece una visión general del desarrollo del formato. Pero las ziputilidades de Unix no implementan los cambios después del año 2002.

Puede que tenga que comprar la versión comercial PKWARE para Linux para descomprimir esto.

La página de manual para ziptiene lo siguiente para decir por sí mismo y 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.

Solución

Aunque zipno puede hacer el trabajo, hay otras herramientas que pueden hacerlo. Usted menciona la utilidad 7zip y la versión de línea de comandos Linux / Unix de 7-Zip que, entre otros, puede leer y escribir en ZIPformato. Afirma que si 7-Zip no puede leer un archivo zip, en el 99% de los casos el archivo está roto . Las utilidades 7-Zip deberían poder leer su archivo, por lo que está roto o el suyo está en el 1% (para el que no encontré más detalles).

7-zip en Linux viene en varios ejecutables con diferentes formatos de soporte. El más básico ( 7zr), no es compatible con ZIP, debe usar al menos 7zao el completo 7z:

7za x filename.zip

Paquetes de diferentes versiones de Linux 7za/ 7zen paquetes con diferentes nombres.

Lo más fácil (como tan a menudo) es instalar en Solus:

sudo eopkg install p7zip

En la versión de Linux derivada de Debian, el paquete p7zipsolo instala la base 7zque no admite ZIP. Esta división ha causado algunos problemas y la instalación p7zip-fullno hace lo que dice, a veces también tienes que instalarp7zip-rar en mi sistema Linux Mint que tenía que hacer:

sudo apt-get install p7zip-full p7zip-rar

En RedHat / CentOS necesita tener habilitado el repositorio EPEL . Por ejemplo, en CentOS 7 tenía que hacer:

sudo yum install epel-release
sudo yum --enablerepo=epel install p7zip
Anthon
fuente
Gracias, Anthon, eso es muy informativo. ¿Sabes por qué la ziputilidad no se ha mantenido? En una nota relacionada, ¿hay algún método de transmisión protegido por contraseña que pueda decirle a mi banco que use que tenga la posibilidad de trabajar en un sistema basado en Linux sin usar software propietario?
Faheem Mitha
@FaheemMitha Supongo que pkware quería ganar más dinero y no está revelando los detalles de los formatos más nuevos ni publicando el código como código abierto. No creo que su banco vaya a cambiar solo para usted, tuve problemas durante varios años con archivos PDF ligeramente no conformes que no pudieron leer y terminé activando mi VM WinXP para hacerlo.
Anthon
No espero que mi banco haga algo solo por mí. :-) Pero pensé que si había algún método alternativo disponible, podrían considerar usarlo. En este caso, este archivo comprimido no me fue enviado a través de algún método automatizado. Me lo envió una persona a petición mía.
Faheem Mitha
PKWare documenta abiertamente el formato ZIP especificado en el archivo "APPNOTES". @Anthon
eckes
9

Me encontré con el mismo problema, excepto con PK compat. v6.3. Lo resolvió extrayendo el archivo con la versión POSIX de 7 zip.

Paquete Arch Linux: p7zip .

mandarín
fuente
1
Usar 7zip fue la mejor opción para mí. es decir7z x archive.zip
Matt H
3

Me encontré con el mismo código de error ( need PK compat. v6.1) al intentar descomprimir un archivo zip con el descomprimidor predeterminado de MacOS.

Probé el p7zip y me metí un poco en él antes de consultar la App Store.

En la tienda de aplicaciones, encontré una aplicación de descompresión gratuita llamada "Unarchiver" (el primer resultado de búsqueda a partir de este escrito) y descomprimió el archivo con éxito sin ningún problema.

Para los usuarios de Mac, sugiero usar ese programa gratuito "Unarchiver".

Jonathan Steele
fuente
Eso no va a ayudar al OP, aquí, quién está usando Debian ...
Jeff Schaller
1
@JeffSchaller El OP hace mucho tiempo que siguió adelante. :-) Y estoy de acuerdo con una respuesta de Mac, incluso si no responde directamente a la pregunta. Tal vez sea útil para alguien.
Faheem Mitha
Creo que sería más probable que sea útil (y encontrado) en una pregunta de Mac (¿Preguntar diferente?)
Jeff Schaller
2
@JeffSchaller Bueno, si alguien busca el mensaje de error en Google, es probable que tropiece con esta pregunta.
Faheem Mitha
Estoy de acuerdo, debemos recordar que SO también es útil para preguntas similares a la original, en realidad sería peor si hubiera una pregunta como esta para cada sistema operativo diferente ...
Francesco Marchetti-Stasi