Linux: zip більше 4Gb


11

У мене виникає помилка, коли я намагаюся зібрати великий файл в Linux, тому що він занадто великий, щоб поштовий файл мав справу. Хтось знає, які команди я можу використовувати, щоб обійти це?

Це помилка, яку я отримую:

zip error: Entry too big to split, read, or write (file exceeds Zip's 4GB uncompressed size limit)

Це простий текстовий файл, фактично файл журналу.


3
використовувати замість tar + gzip.
самогонник

1
Просто розділіть файл на шматки 1GiB і скопіюйте їх. Або використовуйте сучасний алгоритм стиснення, у вашому випадку вам не потрібен формат архіву.

Відповіді:


7

використовуйте команду linux split, щоб подрібнити ваш файл журналу на менші файли.

і подумайте про налаштування журналу обертання, щоб це не повторилося.


2
Просто додайте це для підтримки інших користувачів, якщо вони шукають цього. Я скористався цією командою, щоб розділити файл на 1Gb фрагменти: split -b 1024m access_log2 access_log_
Метт Роджерс

15

Базовий формат Zip має обмеження 4 Гб на файл. Вам потрібно оновити свій zipінструмент до такого, який підтримує Zip64:

$ zip -v
Авторські права (c) 1990-2008 Info-ZIP - Введіть "zip" -L "'для ліцензії на програмне забезпечення.
Це Zip 3.0 (5 липня 2008 р.), Автор Info-ZIP.
...

Спеціальні параметри компіляції:
        ...
        ZIP64_SUPPORT (використовуйте Zip64 для зберігання великих файлів в архівах)

Крім того, використовуйте інший формат архіву, такий як 7z або tar .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.