Errore di byte extra durante la decompressione di un file


28

Quando entro unzip ../founation-latest.zip, viene visualizzato questo:

warning [../foundation-latest.zip]: 248 byte extra all'inizio o nel file zip (tentando comunque di elaborare)

Il file è 138 KB. Si decomprime correttamente, ma perché visualizzo questo errore?


2
Una possibile causa è che, in una fase del suo percorso sul sistema, è stato trasferito ftpin modalità ASCII anziché in modalità BINARY e sono stati aggiunti alcuni byte. Se lo hai usato ftpin qualsiasi momento, esegui di ftpnuovo, usando il comando 'bin' prima di qualsiasi 'put' o 'get'.
Mark Plotnick,

Potrebbe avere un payload dannoso all'inizio. È una rete ostile. Fai attenzione a quale utility di decompressione usi per aprire una zip del genere.
jbrahy,

Ci sono molte congetture nelle risposte attuali, perché ci sono molte possibili cause. Sarebbe utile avere un collegamento o una copia del file in questione.
duozmo,

Per quanto riguarda un eventuale payload extra dannoso: a tale dimensione, è possibile caricare il file su virustotal.com per verificarlo, nel caso in cui non vi siano informazioni personali. Tuttavia, non mi preoccuperei molto dei virus in Linux, solo se copi il file originale altrove. (Puoi sempre
reimballare

Solo per confermare questo è un problema. Ho provato a creare un backup del mio spazio file di iTunes sia con che zipcon ditto. Il unzipfornito (entro il 10.11) non è riuscito con entrambi, così come con 7za. La decompressione di MacOS non piace i file zip (di grandi dimensioni?).
Otheus

Risposte:


37

Il mio problema era perché stavo cercando di usare "decomprimere" su MAC OSX che non è in grado di gestire le cose compresse con PKZIP.

Sono stato in grado di brew install p7zipdecomprimerlo usando il comando 7za x some_file.zip.

Inizialmente ho trovato la soluzione in questo articolo: need-pk-compat-v4-5-can-do-v2-1


4
Ho scaricato una VM Windows da microsoft.com e questa era la soluzione per decomprimere.
zolla

1
Questo può valere anche per decomprimere su Linux (nel mio caso: UnZip 6.00 del 20 aprile 2009, di Debian.)
BradHards,

2
Vale anche la pena ricordare che è un po 'più veloce e mostra progressi.
previous_developer

Inoltre p7z gestisce file più grandi e file con zip più recenti
Konrads

Stesso problema oggi su un'immagine Linux di AWS. Scaricato l'RPM p7zip da timeoff.wsisiz.edu.pl/rpms.html e l'archivio testato ed estratto senza problemi.
pignoni

23

Ho trovato questo thread che ha avuto un problema simile. La segnalazione di bug è intitolata: decompressione non riesce su ZIP da 5,4 GB con "byte extra all'inizio o all'interno del file zip" . Una delle correzioni suggerite era usare questo comando sul .zipfile.

$ zip -FFv foo.zip --out fixed.zip

Esempio di esecuzione

$ zip -FFv foo.zip --out fixed.zip
Fix archive (-FF) - salvage what can
 Found end record (EOCDR) - says expect single disk archive
Scanning for entries...
 Local ( 1      0): copying: d1/f1   (651734 bytes)
 Local ( 1 651817): copying: d1/d2/  (0 bytes)
 Local ( 1 651905): copying: d1/d2/f3   (80 bytes)
 Local ( 1 652083): copying: d1/f23   (891 bytes)
 Local ( 1 653021): copying: d1/f27   (8764 bytes)
 Local ( 1 661837): copying: d1/f24   (14818 bytes)
 Local ( 1 676709): copying: d1/f25   (17295 bytes)
...
 Cen   ( 1 5488799949): updating: d1/f13
 Cen   ( 1 5488800052): updating: d1/f14
Zip64 EOCDR found ( 1 5488800155)...
Zip64 EOCDL found ( 1 5488800211)...
EOCDR found ( 1 5488800231)...
$ echo $?
0

zip -FF switch

estratto dalla pagina man di zip

       -FF
       --fixfix
              Fix the zip archive. The -F option can be used if some 
              portions of the archive are missing, but requires a reasonably 
              intact central directory.   The  input  archive is scanned as 
              usual, but zip will ignore some problems.  The resulting 
              archive should be valid, but any inconsistent entries will be 
              left out.

              When doubled as in -FF, the archive is scanned from the 
              beginning and zip scans  for  special  signatures  to  
              identify  the  limits between the archive members. The single 
              -F is more reliable if the archive is not too much damaged, so 
              try this option first.

              If  the archive is too damaged or the end has been truncated, 
              you must use -FF.  This is a change from zip 2.32, where the 
              -F option is able to read a truncated archive.  The -F option 
              now more reliably fixes archives with minor damage and the -FF 
              option is  needed to fix archives where -F might have been 
              sufficient before.
              ...

3

Ho visto questo tipo di errore in precedenza quando l'archivio zip è stato trasferito tramite un servizio Web che stava riscontrando problemi. Dopo aver esaminato direttamente il file zip, ho scoperto che era stato inviato un messaggio di errore dal servizio web davanti al file zip.

Potresti provare a esaminare il file zip come testo e vedere se appare qualcosa di interessante nella parte anteriore.


3

Ho appena ricevuto anche questo avviso. Nel mio caso è stato causato dal download con 'curl -i' che ha fatto apparire le intestazioni http all'inizio del file zip. sciocco me. Di sicuro questa non sarà la causa / soluzione in tutti i casi, ma forse aiuta qualcuno ...


2

Potrebbe essere un archivio autoestraente (windows .exe) o è stato riempito per qualche motivo.


1
Cosa intendi con "imbottito"?
rainwater11,

Byte extra (generalmente null (zero)) per rendere il file di una lunghezza specifica. Questo era un artefatto della dimensione del blocco di trasferimento file (ad esempio xmodem), ma nel mondo moderno, ciò non accade. Potrebbe anche essere una firma crittografica. (Non ho il file, quindi non so cosa siano quei 248 byte.)
Ricky Beam,

0

Ho avuto anche lo stesso problema. Ho osservato il problema quando ho copiato i file da Windows al server Unix senza utilizzare la modalità bin. Il modo migliore per risolvere il problema era trasferire i file in modalità bin.


(1) Questa informazione era già stata presentata in un commento . Va bene, ma ... (2) il commento contiene informazioni più dettagliate di questa risposta. (3) Dovresti migliorare questa risposta descrivendo di cosa stai parlando. Si prega di non rispondere nei commenti; modifica la tua risposta per renderla più chiara e completa.
Scott,

0

Ho avuto lo stesso problema su Linux con un .zipfile più grande di 4 GB, aggravato da un only DEFLATED entries can have EXT descriptorerrore.

Il comando ha 7z xrisolto tutti i miei problemi però.

Attenzione però, il comando 7z xestrarrà tutti i file con un percorso radicato nella directory corrente. L'opzione -oconsente di specificare una directory di output.

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.