Linux: zip greater than 4Gb

11

1

I'm getting an error when I try and zip a large file on Linux because it is too large for zip to deal with. Anyone know what commands I can use to get around this?

This is the error I'm getting:

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

It is a simple text file, log file in fact.

Matt Rogers

Posted 2011-08-05T16:16:48.590

Reputation: 133

3use tar+gzip instead. – moonshadow – 2011-08-05T16:18:55.677

1Just split the file into 1GiB chunks and zip those. Or use a modern compression algorithm, you don't need an archive format in your case. – None – 2011-08-05T16:20:44.780

Answers

7

use the linux split command to chop your log file into smaller files.

and consider setting up log rotate so this doesn't happen again.

David Chan

Posted 2011-08-05T16:16:48.590

Reputation: 186

2Just adding this to support others users if they search for this. I used this command to split the file into 1Gb slices: split -b 1024m access_log2 access_log_ – Matt Rogers – 2011-08-05T17:30:08.680

15

The basic Zip format has a limit of 4 GB per file. You need to upgrade your zip tool to one that supports Zip64:

$ zip -v
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
This is Zip 3.0 (July 5th 2008), by Info-ZIP.
...

Zip special compilation options:
        ...
        ZIP64_SUPPORT        (use Zip64 to store large files in archives)

Alternatively, use a different archive format such as 7z or tar.

user1686

Posted 2011-08-05T16:16:48.590

Reputation: 283 655