Problem/Justification
Many downloads are compressed using the “rar” format. There is no native way to extract these. Please add unrar or 7-zip or some other utility that can handle extracting these files.
Impact
It will benefit users who have compressed rar files and want to extract them. It will have no impact at all on anyone who doesn’t care about rar files.
User Story
As a user with files compressed using the “rar” format, I would like to uncompress these files so that i may use them.
I understand the request, although its not my usecase at all. If you are an avid downloader, you can end up having your linux distros split up into a gazillion rar files. Combining them from a client, transfers all the data first to the client and then you have to move the combined file back to the server.
It can be very slow, especially if your client has an old cpu or if your client is on wifi.
I’m puzzled, why would want to have the ability to manipulate .rar files directly on the system OS instead of ie a dedicated torrent docker/jail/VM/etc…?
Just because several of you don’t see a use case for having compression/decompression tools built into the OS doesn’t mean there isn’t one. It would be helpful to me and I’m sure others as well.
A quick glance into /usr/bin shows a bunch of compression/decompression utilities already; uncompress, unxz, unzip, unzstd, unpigz (I’m sure there are others). Adding one more to handle a common compression format would be helpful and doesn’t harm anything.
Requesting that 7zip, which is included by default in Core, to be removed from Core to retain parity with SCALE.
In all seriousness, I think the reason why SCALE doesn’t include 7zip by default is because they just forgot to or didn’t really care. I don’t see a technical reason why the most versatile all-in-one compression tool would be neglected.
We already have 7zip preinstalled with Core, which means we can compress/decompress 7z, rar, and zip, as well as run checksums. (Without the need to create a jail for something that you’d expect by default on a NAS system that likely deals with archive files.)
EDIT: @paulx7, I would change the title to read “Add 7zip to TrueNAS SCALE”
Not only does 7zip handle more formats than unrar (including RAR archives themselves) and has more features, but it is already included by default with Core, anyways.
Obviously because it’s much faster. As to whether that belongs on the host OS rather than an app/VM/jail/sandbox, that’s more of an open question IMO (though if the other utilities are in the host OS, it makes sense to me to include this one there as well)–but reading the data over the wire to a client machine, just to uncompress it and send it back over the wire to the server, seems kind of silly.
It seriously isn’t self-evident? There are lots of ways to download files to the NAS other than torrents. I wouldn’t put this at a super-high priority, but I can definitely see how it could be useful.
While I do agree that this should probably be added (even if I can’t think of a many use-cases) - quick reminder that 7z on Linux is PORTABLE!
cd /mnt/tank/bin
wget https://www.7-zip.org/a/7z2407-linux-x64.tar.xz
tar -xf 7z2407-linux-x64.tar.xz
mv 7zz 7z # Why did they name it 7zz? Because of p7zip? Maybe?
chmod +x 7z
Add /mnt/tank/bin to PATH (or just tack it on in .zshrc), Bob’s your uncle.
Yeah, and if you are letting your NAS download and manipulate those files you usually are running a VM/container/jail/etc… and thus do not need a the main OS to unzip a .rar file. Hence my question, I don’t think it’s self-evident. I (we) want to simply understand what’s his use case… don’t understand the passive-aggressive approach.
@Davvo makes a good point, and hence I say that iX should remove 7zip from Core.
They obviously do not include it with SCALE for a reason. (I think it’s really bloated, and not only takes up precious space, but also slows down the entire system.) But it was probably a mistake that they included it in Core.
iX: Please remove 7zip with the release of Core 13.3.
Regardless of how an archive (RAR, 7Z, ZIP, etc) finds its way onto my NAS server, I’m not going to drop into a VM or jail just to run a lightweight, versatile command-line tool, just to test the integrity of the archive, or list its contents, or extract it, or even create a new, high-compression 7z archive that has built-in checksums.
Not to mention, this tool handles multiple formats.
Not to mention, it’s already included with Core by default.
I’ve also used it plenty of times from the host directly, in which I needn’t have to jump in and out of different jails (heaven forbid VMs!) just to do these basic tasks that make sense for a NAS.
When I found out that SCALE doesn’t ship with this lightweight archiving tool, I thought “This has to be a mistake. They probably forgot.”
Plenty of good reasons, but my question stands: what is he using it for? Manipulating files from the CLI? Running a script to automate that file manipulation?
I never experienced the need for such a thing on my NAS itself, hence the question.
The point being, it’s a non-cost. I don’t see why the base SCALE OS needs to fight against an additional 3 MiB for a Swiss-army-knife tool that has value for some people. It’s not like it’s an extra service or daemon that runs in the background, nor does it consume an additional GiB of space.
Yes, I did request it, just like @dak180 requested bc. However it was very easy to add 7zip into SCALE. With that said, I no longer install 7zip by default unless a person wants the emailed trunas config file encrypted. It was a request, i made it happen. 7zip adds almost no bloating. But I understand it does all add up.
So, with all that said… if you want 7zip, it is a few simple commands but it does not survive an upgrade (as expected) so after an update, you get to do it all over again. Or you could use my little script to install it for you. The last option is plagiarize the script and grab the fuction I created to install 7zip. Easy.