Как восстановить повреждённый ZIP-архив при помощи Терминала Mac OS X.

Если вы стали заложником ситуации, когда важный и нужный для вас ZIP-архив с данными ни в какую не хочет распаковываться, то можно попытать счастья восстановить его при помощи Терминала. К сожалению, битые архивы — не редкость в повседневной практике, однако в недрах Mac OS X имеется маленький помощник — консольная утилита для работы с ZIP-архивами. По-полной управляться с данной утилитой можно исключительно при помощи Терминала, и если нужный вам архив имеет не критичные повреждения, то его можно восстановить, сохранив таким образом всю или большую часть необходимой информации.

Ну что ж, приступим. Запускаем Терминал и выполняем вот такую команду:

zip

Без каких-либо параметров консольная утилита zip выдаст краткую справка по ключам и примерам их использования (на досуге можете изучить подробнее её возможности):

Консольная утилита ZIP в Mac OS X.
Из всей спраквки нас интересует всего два момента: формат команды и ключ -F, который как раз и оповещает утилиту о том, что заданный архив нужно восстановить. Используя информацию из справки получаем формат команды, которую нужно будет применять для восстановления повреждённого ZIP-архива:

zip -F /путь/повреждённый_архив.zip --out /путь/восстановленный_архив.zip

Теоретические данные — это хорошо, но практика — это совсем другое. Поэтому для чистоты эксперимента я при помощи HEX редактора специально повредил заранее созданный ZIP-архив с файлами и теперь попробую его восстановить.

 

Практика.

Обычное открытие повреждённого архива двойным кликом приводит к вот такой ошибке (или подобной ей):

Ошибка при открытии повреждённого ZIP-архива в Mac OS X.
Открываем Терминал и выполняем ранее полученную команду (для удобства я поместил испорченный архив на Рабочий стол, поэтому обратите внимание на пути к архивам, кгда будете пробовать восстановить архив у себя):

zip -F ~/Desktop/Архив.zip --out ~/Desktop/Восстановленный.zip

После выполнения команды Терминал выдаёт следующее сообщение:

Восстановление ZIP-архива в Mac OS X.
В сообщении говорится, что архив имеет неверную структуру и что восстановить его не удалось, однако предлагается воспользоваться ключом -FF для повторной попытки. Пробуем:

zip -FF ~/Desktop/Архив.zip --out ~/Desktop/Восстановленный.zip

После выполнения данной команды (уже с ключом -FF), выдаётся сообщение со следующим вопросом:

Восстановление ZIP-архива в Mac OS X.
Так как у меня архив единый, а не какая-то часть разбитого на части архива, то я указываю Y и нажимаю Enter. После этого в Терминале отображается процесс восстановления и на Рабочем столе создаётся восстановленный ZIP-архив:

Процесс восстановления ZIP-архива в Mac OS X.
Созданный на Рабочем столе восстановленный архив легко разархивировался обычным способом (двойным кликом). Вот и всё.

Share this article
0
Share
Prev Post

Pages для iOS. Продвинутый текстовый редактор от Apple.

Next Post

Добавляем в Dock дополнительный Стек с последними запущенными программами, недавними документами, серверами или избранным.

Comments 12
  1. а я как раз думал чем можно архивчик один реанимировать.Вот бы еще и память чтобы вспомнить какой у меня админ пароль?А то забыл его а сбросить пока что не получается

  2. У меня нет открылся((( Пишет при открытии восстановленного фала — ошибка 79 -несоответствующий тип файла. Что делать в таком случае, подскажите, пожалуйста?

  3. Я делаю все, как у Вас написано, но у меня новый архив выдает ошибку 79 — несоответствующий тип файла (а ошибка первого архива «этот формат не поддерживается»). Первый файл на 18 гб, восстановленный таким же весом. Вы могли бы, пожалуйста, подсказать, что может быть поправить:

    ~ % Zip -FF ~/Desktop/Архив.zip —out ~/Desktop/Вост.zip
    Fix archive (-FF) — salvage what can
    Found end record (EOCDR) — says expect single disk archive
    Scanning for entries…
    Found spanning marker, but did not expect split (multi-disk) archive…
    copying: __MACOSX/Мои файлы/С диска внешнего old school/MPSU Lenin/ВКР/OneNote/другие/._хим1.jpg (137 bytes)
    copying: Мои файлы/С диска внешнего old school/MPSU Lenin/ВКР/OneNote/другие/биоСЕМ.jpg (343123 bytes)
    copying: __MACOSX/Мои файлы/С диска внешнего old school/MPSU Lenin/ВКР/OneNote/другие/._биоСЕМ.jpg (137 bytes)
    copying: Мои файлы/С диска внешнего old school/MPSU Lenin/ВКР/OneNote/другие/хим2.jpg
    zip warning: no end of stream entry found: Мои файлы/С диска внешнего old school/MPSU Lenin/ВКР/OneNote/другие/хим2.jpg
    zip warning: rewinding and scanning for later entries
    # теперь пробую с -F:
    ~ % Zip -F ~/Desktop/Вост.zip —out ~/Desktop/Вост2.zip
    Fix archive (-F) — assume mostly intact archive
    Zip entry offsets do not need adjusting
    zip warning: expected 7414 entries but found 2677

    zip error: Zip file structure invalid (/Users/onelovedaria/Desktop/Вост.zip)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Read next