Итак, я скачал из OneDrive каталог размером 45 гигабайт, который был сохранен на моей виртуальной машине Ubuntu в виде zip-файла.
Теперь, когда я пытаюсь извлечь его через графический интерфейс, появляется сообщение об ошибке, что архив пуст.
Когда я пытаюсь использовать команду unzip
через терминал, появляется сообщение об ошибке:
предупреждение [Archive.zip]: 43855246100 дополнительных байтов в начале или в zip-файле (все равно пытается выполнить обработку)
ошибка [Archive.zip]: начало центрального каталога не найдено; zip-файл поврежден.
(убедитесь, что вы перенесли или создали zip-файл в соответствующий режим BINARY и что вы правильно скомпилировали UnZip)
Из приведенной выше ссылки я узнал, что распаковать архивы размером более 4 гигов не удается.
Я попробовал несколько других вариантов, например tar xvf
, jar xf
, 7z x
tar xvf
, я получил tar: Это не похоже на tar-архив
tar: Переход к следующему заголовку
7z x
архив извлекается, но со следующими ошибками: Headers Error
Неподтвержденный запуск архива
ПРЕДУПРЕЖДЕНИЯ
Есть данные после конца архива
Также должны были быть некоторые.rar внутри исходного (загруженного) zip-файла, которые отсутствовали в распакованном месте.
jar xf
я получаю сообщение об ошибке: Ошибка в файле JAR! (не сжатый, но данные по описанию)
Когда я пытаюсь запустить zip -T Archive.zip
, я получаю
Не удалось найти Archive.z01
Нажмите c (изменить путь к тому, где это разделенный файл)
q (прервать архивирование - выйти)
или ENTER (попробуйте прочитать это разделение еще раз):
Возможно ли, что OneDrive предоставил мне поврежденный архив?
Я знаю, что этот вопрос был опубликован более года назад, но, столкнувшись с тем, что похоже на ту же самую проблему, я мог бы дать некоторые ответы. Наиболее вероятной причиной этой проблемы совместимости является реализация OneDrive расширения ZIP64, а если быть более точным, значение поля «общее количество дисков» в «zip64 end of central dir locator». В файлах OneDrive это значение установлено на 0 (ноль), тогда как большинство инструментов чтения ожидают значение 1.
Для получения дополнительной информации вот подробный отчет, который я опубликовал в моем блоге:
Если вас устраивает небольшое редактирование в шестнадцатеричном формате, вы можете временно " исправить "затронутые файлы", изменив первый байт поля "общее количество дисков" в шестнадцатеричном редакторе; подробности снова см. в моем сообщении в блоге.
ОБНОВЛЕНИЕ : частично из-за моего сообщения в блоге кто-то написал Perl-скрипт, который автоматически исправляет эти файлы, подробнее см. По этой ссылке:
https://unix.stackexchange.com/a/590034
Прямая ссылка на скрипт:
https: // github.com / pmqs / Fix-OneDrive-Zip
Кроме того, на этой странице поддержки от Microsoft говорится (3-й раздел «Примечания» сверху):
Для загрузки действуют следующие ограничения: отдельный файл ограничение по размеру: 10 ГБ; максимальный размер zip-файла: 20 ГБ; ограничение на общее количество файлов: 10 000.
Таким образом, для каталога 45 ГБ вы также можете достичь этих ограничений по размеру.