Skip to main content

How to unzip a multipart (spanned) ZIP on Linux? [Resolved]

I need to upload a 400mb file to my web server, but I'm limited to 200mb uploads. My host suggested I use a spanned archive, which I've never done on Linux.

I created a test in its own folder, zipping up a PDF into, .002, and .003. How do I go about unzipping it? Do I need to join them first?

Please note that I'd be just as happy using 7z as I am using ZIP formats. If this makes any difference to the outcome.

Question Credit: Tim
Question Reference
Asked October 9, 2019
Tags: archive
Posted Under: Unix Linux
6 Answers

You will need to join them first. You may use the common linux app, cat as in the example below:

cat* > ~/

This will concatenate all of your,, etc files into one larger, file. Once you have that single file, you may run unzip

"How to create, split, join and extract zip archives in Linux" may help.

Answered October 9, 2019

The Linux unzip utility doesn't really support multipart zips. From the manual:

Multi-part archives are not yet supported, except in conjunction with zip. (All parts must be concatenated together in order, and then zip -F (for zip 2.x) or zip -FF (for zip 3.x) must be performed on the concatenated archive in order to “fix” it. Also, zip 3.0 and later can combine multi-part (split) archives into a combined single-file archive using zip -s- inarchive -O outarchive. See the zip 3 manual page for more information.)

So you need to first concatenate the pieces, then repair the result. cat* concatenates all the files called* where the wildcard * stands for any sequence of characters; the files are enumerated in lexicographic order, which is the same as numerical order thanks to the leadings zeroes. > directs the output into the file

cat* >
zip -FF --out

If you created the pieces by directly splitting the zip file, as opposed to creating a multi-part zip with the official Pkzip utility, all you need to do is join the parts.

cat* >

credit: Maxim
Answered October 9, 2019
7z x

It will automatically find the rest

credit: mist
Answered October 9, 2019

I found the answer here:

This answer is similar in concept to that of Gilles, namely first you combine the split archive into a normal archive using split, and then you unpack it using unzip.

The difference is that instead of using the -FF flag, which did not work for me, you just tell zip to repack the split file without splitting. That is what the -s 0 flag means.

So, first, combine the split archive to a single archive:

zip -s 0 --out

Then, extract the single archive using unzip:


credit: Community
Answered October 9, 2019

Just another example. This worked for me in bash to split 3GB oracle installer:

echo "<>: Splitting OracleDB installer"
zip /tmp/ --out /tmp/ -s 1000m
echo "<>: Merging OracleDB installer"
zip -FF /tmp/ --out /tmp/
echo "<>: Removing temporary files OracleDB installer"
find /tmp -type f -name 'linuxx64_12201_oradb*' -exec rm {} +
echo "<>: Unizipping OracleDB installer"
unzip /tmp/

credit: TheHagueCoder
Answered October 9, 2019
Your Answer