Extra-Bytes-Fehler beim Entpacken einer Datei

28

Wenn ich eingebe unzip ../founation-latest.zip, gibt es Folgendes aus:

warning [../foundation-latest.zip]: 248 zusätzliche Bytes am Anfang oder in der Zip-Datei (versucht trotzdem zu verarbeiten)

Die Datei ist 138 KB groß. Es wird korrekt entpackt, aber warum erhalte ich diesen Fehler?

Regenwasser11
quelle
2
Eine mögliche Ursache ist, dass es in einem Schritt auf Ihrem System ftpim ASCII-Modus und nicht im BINARY-Modus übertragen wurde und einige Bytes hinzugefügt wurden. Wenn Sie ftpzu irgendeinem Zeitpunkt verwendet haben, führen Sie den ftpBefehl "bin" erneut aus, bevor Sie "put" oder "get" eingeben.
Mark Plotnick
Es könnte am Anfang eine böswillige Nutzlast haben. Es ist ein feindliches Internet. Seien Sie vorsichtig mit dem Entpack-Dienstprogramm, das Sie zum Öffnen einer solchen Zip-Datei verwenden.
Jbrahy
Die aktuellen Antworten enthalten viele Vermutungen, da es viele mögliche Ursachen gibt. Es wäre hilfreich, einen Link oder eine Kopie der betreffenden Datei zu haben.
Duozmo
In Bezug auf möglicherweise böswillige zusätzliche Nutzlast: In dieser Größe können Sie die Datei auf virustotal.com hochladen , um sie überprüfen zu lassen - falls dort keine persönlichen Daten gespeichert sind. Ich würde mich jedoch nicht zu sehr um Viren in Linux kümmern, nur wenn Sie die Originaldatei an eine andere Stelle kopieren. (Sie können die Datei jederzeit neu packen, wenn Sie der Meinung sind, dass die Daten vollständig sind.)
Ned64
Nur um zu bestätigen, dass dies ein Problem ist. Ich habe versucht , ein Backup meiner iTunes - Dateibereich mit den beiden zu schaffen zipund mit ditto. Die unzipBereitstellung (von 10.11) schlug sowohl bei diesen als auch bei 7za. MacOS unzip mag keine (großen?) Zip-Dateien.
Otheus

Antworten:

37

Mein Problem war, dass ich versucht habe, "unzip" unter MAC OSX zu verwenden, das mit PKZIP komprimierte Dateien nicht verarbeiten kann.

Ich konnte brew install p7zipmit dem Befehl entpacken 7za x some_file.zip.

Ich habe die Lösung ursprünglich in diesem Artikel gefunden: need-pk-compat-v4-5-can-do-v2-1

duyker
quelle
4
Ich habe eine Windows-VM von microsoft.com heruntergeladen und dies war die Lösung zum Entpacken.
Rasen
1
Dies kann auch für das Entpacken unter Linux gelten (in meinem Fall: UnZip 6.00 vom 20. April 2009 von Debian.)
BradHards
2
Erwähnenswert ist auch, dass es etwas schneller ist und Fortschritte zeigt.
previous_developer
Auch p7z behandelt größere Dateien und Dateien mit neueren zip
Konrads
Dasselbe Problem heute auf einem AWS-Linux-Image. P7zip- RPM von timeoff.wsisiz.edu.pl/rpms.html heruntergeladen und das Archiv ohne Probleme getestet und extrahiert.
Kettenräder
23

Ich habe diesen Thread gefunden, der ein ähnliches Problem hatte. Der Fehlerbericht trägt den Titel: Das Entpacken schlägt bei einer ZIP-Datei mit 5,4 GB mit "zusätzlichen Bytes am Anfang oder in der Zip-Datei" fehl . Eine der vorgeschlagenen Korrekturen bestand darin, diesen Befehl für die .zipDatei zu verwenden.

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

Beispiellauf

$ 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

Reißverschluss -FF Schalter

Auszug aus der Zip-Manpage

       -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.
              ...
slm
quelle
3

Ich habe diese Art von Fehler bereits gesehen, als das ZIP-Archiv über einen Webdienst übertragen wurde, bei dem Probleme aufgetreten sind. Bei der direkten Überprüfung der ZIP-Datei stellte ich fest, dass eine Fehlermeldung des Webdienstes vor der ZIP-Datei gesendet wurde.

Sie können versuchen, die ZIP-Datei als Text zu untersuchen und festzustellen, ob sich vorne etwas Interessantes zeigt.

Michael Kohne
quelle
3

Hatte gerade auch diese Warnung. In meinem Fall wurde es durch das Herunterladen mit 'curl -i' verursacht, was dazu führte, dass die http-Header am Anfang der zip-Datei angezeigt wurden. wie dumm von mir. Sicher ist dies nicht in allen Fällen die Ursache / Lösung, aber vielleicht hilft es jemandem ...

dknaus
quelle
2

Es könnte sich um ein selbstextrahierendes Archiv (Windows .exe) handeln oder es wurde aus irgendeinem Grund aufgefüllt.

Ricky Beam
quelle
1
Was meinst du mit "gepolstert"?
rainwater11
Zusätzliche Bytes (normalerweise null (null)), um der Datei eine bestimmte Länge zu geben. Früher war dies ein Artefakt der Größe des Dateiübertragungsblocks (z. B. xmodem), aber in der modernen Welt ist dies nicht der Fall. Es könnte sich auch um eine Kryptosignatur handeln. (Ich habe die Datei nicht, daher weiß ich nicht, was diese 248 Bytes sind.)
Ricky Beam
0

Ich hatte auch das gleiche Problem. Ich habe das Problem festgestellt, als ich Dateien von Windows auf den Unix-Server kopierte, ohne den Bin-Modus zu verwenden. Der beste Weg, um das Problem zu beheben, war die Übertragung der Dateien im Bin-Modus.

Amit
quelle
(1) Diese Information wurde bereits in einem Kommentar vorgestellt . Das ist in Ordnung, aber… (2) der Kommentar enthält detailliertere Informationen als diese Antwort. (3) Sie sollten diese Antwort verbessern, indem Sie beschreiben, wovon Sie sprechen. Bitte antworten Sie nicht in Kommentaren; Bearbeiten Sie Ihre Antwort, um sie klarer und vollständiger zu gestalten.
Scott
0

Ich hatte das gleiche Problem unter Linux mit einer .zipDatei, die größer als 4 GB ist und einen only DEFLATED entries can have EXT descriptorFehler enthält.

Der Befehl 7z xlöste jedoch alle meine Probleme.

Seien Sie jedoch vorsichtig, der Befehl 7z xextrahiert alle Dateien mit einem Pfad, der im aktuellen Verzeichnis verankert ist. Mit dieser Option -okönnen Sie ein Ausgabeverzeichnis angeben.

Serge Stroobandt
quelle