Помилка зайвих байтів при розпакуванні файлу


28

Коли я входжу unzip ../founation-latest.zip, він видає це:

попередження [../foundation-latest.zip]: 248 додаткових байтів на початку або в zipfile (спроба все-таки обробити)

Файл - 138 КБ. Він розпаковується правильно, але чому я отримую цю помилку?


2
Однією з можливих причин є те, що за один крок свого шляху до вашої системи він був переведений ftpв режим ASCII, а не в режим BINARY і були додані деякі байти. Якщо ви використовувались ftpна будь-якому етапі, запустіть ftpще раз, використовуючи команду 'bin' перед будь-яким 'put' або 'get'.
Марк Плотнік

Це може мати зловмисне навантаження на початку. Це ворожий Інтернет. Будьте обережні, яку розпаковувану утиліту ви використовуєте для відкриття блискавки.
jbrahy

У нинішніх відповідях багато думок, тому що існує багато можливих причин. Це допоможе створити посилання на відповідний файл або його копію.
дуозмо

Що стосується можливо зловмисного додаткового навантаження: При такому розмірі ви можете завантажити файл на virustotal.com, щоб перевірити його - на випадок, якщо в ньому немає особистої інформації. Однак я б не переймався над вірусами в Linux, лише якщо ви копіюєте оригінальний файл в іншому місці. (Ви завжди можете
перепакувати

Просто підтвердити це - проблема. Я спробував створити резервну копію файлового простору iTunes як з zipі так, з ditto. unzipПри умови , (по 10.11) не вдалося з обома з них, а також з 7za. Розпакування MacOS просто не любить (великі?) Zip-файли.
Отей

Відповіді:


37

Моя проблема полягала в тому, що я намагався використовувати "розпакувати" на MAC OSX, який не може впоратися з елементами, зіштовхуваними PKZIP.

Мені вдалося brew install p7zipскасувати розпакування за допомогою команди 7za x some_file.zip.

Я спочатку знайшов рішення в цій статті: need-pk-compat-v4-5-can-do-v2-1


4
Я завантажив Windows VM з microsoft.com, і це було рішення для розпакування.
держ

1
Це також стосується розпакування в Linux (у моєму випадку: UnZip 6.00, 20 квітня 2009 р., Автор Debian.)
BradHards

2
Також варто згадати, що він трохи швидший і показує прогрес.
previous_developer

Також p7z обробляє більші файли та файли з новішим zip
Konrads

Те саме питання сьогодні на зображенні Linux AWS. Завантажили RPM p7zip з timeoff.wsisiz.edu.pl/rpms.html і архів протестували та витягували без проблем.
зірочки

23

Я знайшов цю тему, яка мала подібну проблему. Звіт про помилку має назву: unzip не вдається на ZIP в 5,4 ГБ з "додатковими байтами на початку або в zipfile" . Одним із запропонованих виправлень було використання цієї команди у .zipфайлі.

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

Приклад Виконати

$ 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 перемикач

уривок зі сторінки zip man

       -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

Я вже бачив подібний тип помилок, коли передавався zip-архів через веб-сервіс, який мав проблеми. Після безпосереднього вивчення zip-файлу, я виявив, що повідомлення про помилку від веб-служби було надіслано перед поштовим файлом.

Ви можете спробувати вивчити поштовий файл як текст і побачити, чи з’являється щось цікаве спереду.


3

Просто було це попередження. У моєму випадку це було викликано завантаженням його з 'curl -i', що спричинило появу заголовків http на початку ZIP-файлу. дурний мене. Напевно, це не буде причиною / рішенням у всіх випадках, але, можливо, це комусь допоможе ...


2

Це може бути архів, що самозаймається (windows .exe), або з якихось причин.


1
Що ви маєте на увазі під "підкладкою"?
дощова

Додаткові байти (зазвичай нульові (нульові)), щоб додати файлу певну довжину. Це був артефакт розміру блоку передачі файлів (наприклад, xmodem), але в сучасному світі цього не відбувається. Це також може бути криптовалюта. (У мене немає файлу, тому я не знаю, що це за 248 байт.)
Ricky Beam,

0

У мене теж було таке питання. Я спостерігав за проблемою, коли я копіював файли з Windows на сервер Unix, не використовуючи режим bin. Найкращим способом вирішити проблему було перенесення файлів у бін-режимі.


(1) Ця інформація вже була представлена ​​в коментарі . Це нормально, але… (2) коментар має більш детальну інформацію, ніж ця відповідь. (3) Ви повинні вдосконалити цю відповідь, описуючи, про що ви говорите. Будь ласка, не відповідайте на коментарі; відредагуйте свою відповідь, щоб зробити її більш зрозумілою та повною.
Скотт

0

У мене була така ж проблема в Linux з .zipфайлом, більшим за 4 Гб, з only DEFLATED entries can have EXT descriptorпомилкою.

Команда 7z xвирішила всі мої проблеми.

Але будьте обережні, команда 7z xбуде витягувати всі файли з корінням, корінням до поточного каталогу. Цей параметр -oдозволяє вказати вихідний каталог.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.