Невозможно извлечь ZIP-файл OneDrive в Ubuntu 18.10

Итак, я скачал из OneDrive каталог размером 45 гигабайт, который был сохранен на моей виртуальной машине Ubuntu в виде zip-файла.

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

Когда я пытаюсь использовать команду unzip через терминал, появляется сообщение об ошибке:

предупреждение [Archive.zip]: 43855246100 дополнительных байтов в начале или в zip-файле (все равно пытается выполнить обработку)

ошибка [Archive.zip]: начало центрального каталога не найдено; zip-файл поврежден.

(убедитесь, что вы перенесли или создали zip-файл в соответствующий режим BINARY и что вы правильно скомпилировали UnZip)

lost-my-data / 31084012

Из приведенной выше ссылки я узнал, что распаковать архивы размером более 4 гигов не удается.

Я попробовал несколько других вариантов, например tar xvf , jar xf , 7z x

  1. Для tar xvf , я получил

tar: Это не похоже на tar-архив

tar: Переход к следующему заголовку

  1. Для 7z x архив извлекается, но со следующими ошибками:

Headers Error

Неподтвержденный запуск архива

ПРЕДУПРЕЖДЕНИЯ

Есть данные после конца архива

Также должны были быть некоторые.rar внутри исходного (загруженного) zip-файла, которые отсутствовали в распакованном месте.

  1. Для jar xf я получаю сообщение об ошибке:

Ошибка в файле JAR! (не сжатый, но данные по описанию)

Когда я пытаюсь запустить zip -T Archive.zip , я получаю

Не удалось найти Archive.z01

Нажмите c (изменить путь к тому, где это разделенный файл)

q (прервать архивирование - выйти)

или ENTER (попробуйте прочитать это разделение еще раз):

Возможно ли, что OneDrive предоставил мне поврежденный архив?

2
задан 3 February 2019 в 15:20

1 ответ

Я знаю, что этот вопрос был опубликован более года назад, но, столкнувшись с тем, что похоже на ту же самую проблему, я мог бы дать некоторые ответы. Наиболее вероятной причиной этой проблемы совместимости является реализация OneDrive расширения ZIP64, а если быть более точным, значение поля «общее количество дисков» в «zip64 end of central dir locator». В файлах OneDrive это значение установлено на 0 (ноль), тогда как большинство инструментов чтения ожидают значение 1.

Для получения дополнительной информации вот подробный отчет, который я опубликовал в моем блоге:

https: // www.bitsgalore.org/2020/03/11/does-microsoft-onedrive-export-large-ZIP-files-that-are-corrupt

Если вас устраивает небольшое редактирование в шестнадцатеричном формате, вы можете временно " исправить "затронутые файлы", изменив первый байт поля "общее количество дисков" в шестнадцатеричном редакторе; подробности снова см. в моем сообщении в блоге.

ОБНОВЛЕНИЕ : частично из-за моего сообщения в блоге кто-то написал Perl-скрипт, который автоматически исправляет эти файлы, подробнее см. По этой ссылке:

https://unix.stackexchange.com/a/590034

Прямая ссылка на скрипт:

https: // github.com / pmqs / Fix-OneDrive-Zip

Кроме того, на этой странице поддержки от Microsoft говорится (3-й раздел «Примечания» сверху):

Для загрузки действуют следующие ограничения: отдельный файл ограничение по размеру: 10 ГБ; максимальный размер zip-файла: 20 ГБ; ограничение на общее количество файлов: 10 000.

Таким образом, для каталога 45 ГБ вы также можете достичь этих ограничений по размеру.

3
ответ дан 11 March 2020 в 21:18

Другие вопросы по тегам:

Похожие вопросы: