Я создал кучу zip файлов на своем компьютере (Mac OS X) с помощью следующей команды:
zip -r bigdirectory.zip bigdirectory
Затем я сохранил эти zip файлы и удалил исходные каталоги.
Теперь, когда я пытаюсь извлечь zip файлы, я получаю такую ошибку:
$ unzip -l bigdirectory.zip
Archive: bigdirectory.zip
warning [bigdirectory.zip]: 5162376229 extra bytes at beginning or within zipfile
(attempting to process anyway)
error [bigdirectory.zip]: start of central directory not found;
zipfile corrupt.
(please check that you have transferred or created the zipfile in the
appropriate BINARY mode and that you have compiled UnZip properly)
С тех пор я обнаружил, что это может быть связано с тем, что zip не может обрабатывать файлы определенного размера, возможно, 4 концерта. По крайней мере, я это где-то читал.
Но почему команда zip позволяет мне создавать эти файлы? Записанный zip файл составляет 9457464293 байт, и это позволяет мне сделать еще больше, без ошибок.
Таким образом, он может создавать эти файлы.
Я действительно надеюсь, что мои файлы не будут потеряны. Я выучил свой урок, и в будущем я проверю свои архивы перед удалением исходных файлов, и я, вероятно, также буду использовать другой формат файла, такой как tar/gzip.
Пока что, что я могу сделать? Мне действительно нужны мои файлы.
Update
Некоторые люди предположили, что мой инструмент unzip
не поддерживает достаточно большие файлы (что странно, потому что я использовал встроенную ОС X zip
и unzip
). Во всяком случае, я установил новый unzip
из homebrew
, и вот и вот, теперь я получаю другую ошибку:
$ unzip -t bigdirectory.zip
testing: bigdirectory/1.JPG OK
testing: bigdirectory/2.JPG OK
testing: bigdiretoryy/3.JPG OK
testing: bigdirectory/4.JPG OK
:
:
file #289: bad zipfile offset (local header sig): 4294967295
(attempting to re-compensate)
file #289: bad zipfile offset (local header sig): 4294967295
file #290: bad zipfile offset (local header sig): 9457343448
file #291: bad zipfile offset (local header sig): 9457343448
file #292: bad zipfile offset (local header sig): 9457343448
file #293: bad zipfile offset (local header sig): 9457343448
:
:
Это действительно беспокоит, потому что мне нужны эти файлы. И при создании этого zip файла с помощью системного инструмента zip
не было ошибок. Фактически, я сделал несколько из них одновременно, и теперь они все проявляют ту же проблему.
Если файл действительно поврежден, как его исправить?
Или, если он не поврежден, как его извлечь?