Backups. And, since the best examples are real-world examples, I'll use one here, albeit the most extreme example I can quickly find.
Yes, I'm a gamer, and have a nice collection of games. The largest game, file-size wise, is
Middle Earth: Shadow of War, which is a whopping 92.1 GB download. Go ahead, pull out your
download calculator website, and figure out how long it will take to download on your Internet connection. I have a 20 Megabit connection, so it would take at least 11 hours to download. That's why I always perform a Steam game backup of the download once completed so that I can restore the game locally. Even 20 minutes is better than 11 hours.
But, Steam backups aren't that efficient, and I swear, has not changed since Steam was released in September, 2003 when Windows XP was still fairly new and FAT file systems reigned supreme. It was designed to backup to DVDs and CDs, not big storage devices like FreeNAS. If you look at a steam backup, you will notice that the largest file size is going to be around 1,058,XXX,XXX bytes for a CSD file and 36,xxx bytes for the corresponding CSM file, thus we are dealing with a multi-parted archive. Each DVD-sized "disk" has five of those file pairs, and there are 22 of those DVD-sized "discs" (not to mention a 2,804 byte sku.sis). (Slight oversimplification here, but bear with me).
Now, imagine trying to backup that share to a off-line storage. I'm backing up the share to a 8TB portable drive using
FreeFileSync. FreeFileSync only backs up changed files, but it first has to determine what files are changed. Which is quicker to compare--a large 92GB archive, or 242 tiny files? Even the smallest of Steam backups still have three files: the CSD, it's corresponding CSM, and a sku.sis.
Enter
7zip. It is my compression program of choice because 7z archives are slightly smaller than ZIP archives. The compression, however, is not all that great with already-compressed data, but I'm able to squeeze out 300MB of additional compression out of my example game. The main reason, however, is to take all of those small files, and make one big archive. Slight problem.... if I'm creating a 7z (or zip for that matter) archive from a file share, that means that the file data has to be transferred from the FreeNAS server to my local computer, compressed, and sent back to the resulting 7z archive on the file share. Even on a 1 Gigabit network connection, it is still going to take a while.
That's why I'm asking about a better solution. Why not install 7zip on the FreeNAS server, log into shell, and make the archive process a local process. Will it be faster? Don't know, but I won't be flooding my personal network. The FreeNAS server can be chunking away creating the archive while I'm gaming or working. Most of the time, my FreeNAS server is sitting idle.
There are good reasons for having a tar archive over a 7z archive in a *nix world. One very good reason is file permissions. But, because I'm creating an archive from a Steam backup, file permissions do not play a role here.
And, that is not what I'm asking here. I want to be able to create 7z archives. That is what I, the customer, wants to do. “Trust me, they call me an engineer, but I also deal with end users.” That's how I earn my paycheck.