For splitting under Windows, HJSplit. Then, there’s a version for Linux too, but it’s only via a graphical interface. For command line, they suggest lxsplit (syntax:
lxsplit -j bigfile.7z.001. On Ubuntu, maybe Debian, you used to be able to install it via apt-get (apt-get install lxsplit), but it seems to have gone unmaintained now (at least I didn’t find it in Debian 6 repositories). The good news it, there’s a native replacement (I don’t know if you can call it native, but I’ve never seen a distro without it, at least): cat. The syntax would then just be like
cat bigfile.7z.* > bigfile.7z.
Since we covered splitting/merging in Windows and merging in Linux in just a few lines, I suppose it won’t hurt to mention that splitting in Linux can be done with, guess what, split, using a syntax like
split --b=100m -d bigfile.7z, although I read in a comment somewhere that this might be slow for huge files (not sure how accurate this comment is since just the disk I/O themselves must take a while on a 20GiB file… test it and let me know ;))