5

Я собираюсь попробовать что-то странное, и прежде чем я потратил впустую время, идя по неправильным путям, я подумал, что увижу, делал ли кто-нибудь здесь это раньше. У меня есть почтовый файл, созданный в DOS (в 1997 году?) с pkzip, который охватывает несколько старых дискет. Как и ожидалось, некоторые из этих дисков не в лучшей форме, и я получаю ошибки чтения при попытке скопировать содержимое с некоторых дисков. Есть ли эквивалент pkzipfix, который я могу использовать для восстановления некоторого содержимого этого zip-файла?

Вот что я собираюсь попробовать сначала, но я не знаю, будет ли это плодотворным:

  1. Подключите дисковод гибких дисков к моей коробке Linux.
  2. Создайте образы дискет на моем жестком диске следующим образом: cat /dev/fd0 > floppyxx.img
  3. Посмотрите, перенес ли кто-нибудь PKZIP в Linux, и посмотрим, смогу ли я использовать эти образы дисков. Если нет, найдите порт Windows (и, возможно, подключите дисковод гибких дисков к этой коробке Windows).

Кто-нибудь здесь принимал участие в подобных приключениях и успешно восстановил такой древний архив?

2 ответа2

2

У меня был частичный успех и я смог вытащить некоторые файлы из архива. Сначала я создал каталог "fd" для монтирования этих образов дискет, затем для каждого образа дискеты я сделал следующее:

sudo mount -o loop floppyxx.img fd
cat fd/myzip.zip >> combined.zip
sudo umount fd

После того, как у меня был объединенный архив, я сделал это:

unzip -FF combined.zip

Есть меньше файлов, которые я смог извлечь, чем я надеялся. Я все еще открыт, чтобы увидеть, есть ли более эффективный метод восстановления многодискового архива.

0

PKZipFix сильно переоценен. Это не так много. Если я правильно помню, он просто восстанавливает заголовок файла Zip, поэтому, если у вас есть повреждение данных в первых байтах, он может попытаться найти поток данных и снова создать действительный файл Zip. Но если у вас есть ошибка данных в середине потока сжатых данных, то вам не повезло. Возможно, я немного ошибаюсь: я точно помню, что когда я узнал, что это на самом деле, я был довольно разочарован тем, насколько мало хорошего он когда-либо мог сделать.

Я ожидаю, что mount использует не ту файловую систему, и мне нужно использовать mount -t vfat или mount_msdos или что-то в этом роде. Может быть, ваша операционная система достаточно умна, чтобы обнаружить это.

Сказав это, unzippers часто игнорируют дополнительные данные в начале файла, что они и делают, чтобы они могли работать с различными самораспаковывающимися файлами. Так что, возможно, будет работать некоторая гибкость.

Существуют разные форматы того, как могут распространяться zip-файлы. Официальный стандарт заключался в том, что охват в течение некоторого времени не поддерживался, и поэтому разные исполнители по-разному расширяли стандарт.

Будьте очень осторожны с zip-файлами: внимательно следите за результатами извлечения. Я думаю, что некоторые недавние попытки попытались объединить вещи, чтобы обеспечить большую совместимость, но если вы используете другое программное обеспечение, то знайте, что расширение Zip-файла не обязательно является тем, где все реализации всегда были совместимы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .