7zip: more versatile than meets the eye
Today I was surprised a second time with something I did not expect from 7-zip (but tried anyway). Let me start with the first time 7zip surprised me.
Imagine you *only* have a Windows system available, you have got a 640MB ISO image that contains a single 5MB file and you have a very slow network connection to the Linux system that requires this 5MB file.
Uploading the 640MB file to Linux would take ages, and you only need a 5MB file that it contains. A Windows system does not by default allow to loop-mount an ISO image the way Linux does. So I thought I was stuck. 7zip to the rescue.
Optimistic (sometimes over-optimistic) I am about Open Source software I just tried to open the ISO file with 7zip and lo and behold, I could simply browse the ISO much like midnight commander does, without loading 640MB into memory. (BTW I am a big midnight commander fan too !)
Lesson 1: 7zip allows you to browse and extract files on an ISO image.
Now imagine that you use some proprietary software (say: TSM) from a big blue vendor (say: IBM) and you need some sort of plugin to allow to backup a database (say: Oracle). Some infamous person decided that the best way to provide a 500Kb RPM package was to encapsulate it into a 6MB InstallShield image (yes, somehow that exists for Linux too ! think: java).
The advised way of installing said RPM package is to move the InstallShield binary (also called NSIS) to the target system, install a Java JRE and run this 'self-extracting' InstallShield blob. Now, that is ofcourse not what we want to do on production systems. To make matters worse, the InstallShield blob is 64bit and does an effective RPM database query before doing anything on the 32bit system.
Apparently my respected colleagues have been in a similar situation in the past and there is some Windows software to extract files from InstallShield blobs (even Linux ones, yes). Now this software itself is not very innocent (and hard to get a hold of). And when my respected colleagues were looking on how to solve this situation my optimistic mind wandered off. "What if 7zip would be able to handle InstallShield blobs ? Wouldn't that be cool for Open Source ?"
So without expecting it to work I copied the blob over to my Windows (yes) Thinkpad and unleashed 7zip onto it. Guess what ?
Lesson 2: 7zip can browse and extract files inside InstallShield blobs.
Now, I have always been a big fan of the minimalistic design of 7zip (unlike WinZip or WinRar) and the flexibility and support of different non-Windows archive formats (say: rpm, deb, cpio and others), but ISO and InstallShield support was far beyond what I expected.
I just looked at the complete list of features of 7zip and I will let the list speak for itself:
- High compression ratio in new 7z format with LZMA compression
- Supported formats:
- Packing / unpacking: 7z, ZIP, GZIP, BZIP2 and TAR
- Unpacking only: RAR, CAB, ISO, ARJ, LZH, CHM, MSI, WIM, Z, CPIO, RPM, DEB and NSIS
- For ZIP and GZIP formats, 7-Zip provides a compression ratio that is 2-10 % better than the ratio provided by PKZip and WinZip
- Strong AES-256 encryption in 7z and ZIP formats
- Self-extracting capability for 7z format
- Integration with Windows Shell
- Powerful File Manager
- Powerful command line version
- Plugin for FAR Manager
- Localizations for 69 languages