Errore nel tentativo di decomprimere il file: “need PK compat. v6.1 (can do v4.6) "


24

Ho ricevuto un file zip da una banca. Ottengo il seguente errore quando provo a decomprimerlo.

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

Il filecomando ritorna

Zip archive data

per questo file.

Esistono un numero equo di thread contenenti questo messaggio di errore, ma l'unico suggerimento concreto che hanno è quello di utilizzare 7z xo 7za xdal p7zip-fullpacchetto. Questi falliscono con l'errore:

Unsupported Method

Sub items Errors: 1

Sto usando Debian wheezy amd64. Tuttavia , non vedo aggiornamenti significativi dei pacchetti unzipo 7zanei test / unstable.

Gradirei suggerimenti su come decomprimere questo file e, più in generale, cosa significa il messaggio di errore PK compat. v6.1 (can do v4.6)? Per un'utilità ampiamente utilizzata, zipnon è disponibile molta documentazione a riguardo. Il file README nelle fonti Debian punta a http://www.info-zip.org/pub/infozip/ che elenca una versione del 29 aprile 2009 di UnZip 6.0.

Ecco l'output della versione per il unzipbinario sul mio 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 riporta la versione del pacchetto come 6.0-8+deb7u2.

L'output di 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%

Mi sono imbattuto in questa segnalazione di bug che suggerisce di installare p7zip-rarsu Debian nel caso in cui si riceva l' 7zerrore che si è verificato.
Anthon,

Risposte:


30

Origine dell'errore

Il PK nell'errore sta per Phil Katz, l'inventore del formato PKZIP originale. L' ziputilità non ha tenuto il passo con le funzionalità del pkzipsoftware commerciale derivato, in particolare l'archiviazione dei certificati che le banche amano includere nei propri file ZIP.

Wikipedia offre una panoramica dello sviluppo del formato. Ma le ziputility Unix non implementano le modifiche dopo l'anno 2002.

Potrebbe essere necessario acquistare la versione commerciale di PKWARE per Linux per decomprimerlo.

La pagina man di zipha le seguenti affermazioni e 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.

Soluzione

Sebbene zipnon possa fare il lavoro, ci sono altri strumenti che possono. Si menziona l'utilità 7zip e la versione da 7-Zip della riga di comando Linux / Unix che, tra gli altri, può leggere e scrivere in ZIPformato. Afferma che se 7-Zip non è in grado di leggere un file zip, che nel 99% dei casi il file è rotto . I programmi di utilità 7-Zip dovrebbero essere in grado di leggere il tuo file, quindi o è rotto oppure i tuoi sono nell'1% (per i quali non ho trovato ulteriori dettagli).

7-zip su Linux è disponibile in vari eseguibili con supporto per formati diversi. Il più semplice ( 7zr), non supporta ZIP, dovresti usare almeno 7zao il vero e proprio 7z:

7za x filename.zip

Pacchetto versione Linux diverso 7za/ 7zin pacchetti con nomi diversi.

Il più semplice (come spesso accade) è l'installazione su Solus:

sudo eopkg install p7zip

Sulla versione Linux derivata da Debian, il pacchetto p7zipinstalla solo la base 7zche non supporta ZIP. Questa suddivisione ha causato alcuni problemi e l'installazione p7zip-fullnon fa ciò che dice, a volte devi anche installarep7zip-rar sul mio sistema Linux Mint che dovevo fare:

sudo apt-get install p7zip-full p7zip-rar

Su RedHat / CentOS è necessario abilitare il repository EPEL . Ad esempio su CentOS 7 dovevo fare:

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

Grazie, Anthon, è molto istruttivo. Sai perché l' ziputilità non ha tenuto il passo? In una nota correlata, esiste un metodo di trasmissione protetto da password che potrei dire alla mia banca di utilizzare e che potrebbe avere una possibilità di lavorare su un sistema basato su Linux senza utilizzare software proprietario?
Faheem Mitha,

@FaheemMitha La mia ipotesi è che pkware volesse guadagnare più soldi e non sta rivelando i dettagli dei formati più recenti né pubblicando il codice come open source. Non credo che la tua banca cambierà solo per te, ho avuto problemi per diversi anni con file PDF leggermente non conformi che non sono stati in grado di leggere e ho finito per accendere la mia VM WinXP per farlo.
Anthon,

Non mi aspetto che la mia banca faccia qualcosa solo per me. :-) Ma ho pensato che se ci fosse qualche metodo alternativo disponibile, potrebbero prendere in considerazione di usarlo. In questo caso, questo file zippato non mi è stato inviato tramite un metodo automatizzato. Mi è stato inviato da una persona su mia richiesta.
Faheem Mitha,

Il formato ZIP come specificato nel file "APPNOTES" è documentato da PKWare apertamente. @Anthon
diamine

9

Mi sono imbattuto nello stesso problema tranne che con PK compat. v6.3. Risolto estraendo l'archivio con la versione POSIX a 7 zip.

Pacchetto Arch Linux: p7zip .


1
Usare 7zip è stata l'opzione migliore per me. vale a dire7z x archive.zip
Matt H

3

Mi sono imbattuto nello stesso identico codice di errore ( need PK compat. v6.1) durante il tentativo di decomprimere un file zip con il decompressore predefinito di MacOS.

Ho provato il p7zip e ho approfondito prima di controllare l'App Store.

Nell'App Store, ho trovato un'app di decompressione gratuita chiamata "Unarchiver" (il primo risultato di ricerca al momento della stesura di questo documento) e ho decompresso correttamente il file senza problemi.

Per gli utenti Mac, suggerirei di utilizzare quel programma gratuito "Unarchiver".


Questo non aiuterà l'OP, qui, che sta usando Debian ...
Jeff Schaller

1
@JeffSchaller L'OP è da tempo passato. :-) E sto bene con una risposta per Mac, anche se non risponde direttamente alla domanda. Forse sarà utile a qualcuno.
Faheem Mitha,

Penso che sarebbe più probabile che sia utile (e trovato) su una domanda Mac (fare domande diverse?)
Jeff Schaller

2
@JeffSchaller Bene, se qualcuno cerca su Google il messaggio di errore, è probabile che si imbattano in questa domanda.
Faheem Mitha,

Sono d'accordo, dovremmo ricordare che SO è utile anche per domande simili a quella originale, in realtà sarebbe peggio se ci fosse una domanda come questa per ogni diverso sistema operativo ...
Francesco Marchetti-Stasi
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.