Hacker News new | past | comments | ask | show | jobs | submit login
Windows 11 adds native support for RAR, 7-Zip, Tar and other archive formats (techspot.com)
150 points by cainxinth on Oct 31, 2023 | hide | past | favorite | 102 comments



I wonder if this will fix built-in decompressor’s lack of multithreading.

That’s actually why I’ve been installing 7-zip (which is multithreaded) on new Windows installs for the past several years: with the explosion of cores available in consumer hardware, the gulf in speed between single-threaded and multi-threaded is vast in this particular case.

With my Ryzen 5950X tower 7-zip will have ripped through an archive while the built-in decompressor is still plodding along. The difference while not quite as large is still significant on CPUs with fewer cores like the 5900X and 12700k.


Oh, but that isn’t the problem. It’s that the old ZIP support issues 1-byte reads exclusively.

https://nitter.net/ericlaw/status/1399856554690715659


> [David Cutler] expressed his low opinion of the Unix process input/output model by reciting "Get a byte, get a byte, get a byte byte byte" to the tune of the finale of Rossini's William Tell Overture.


I don't see what that has anything to do with unix or stdio? The read/write syscalls will happily transfer much larger buffers. If an application invokes the syscalls directly with 1-byte chunks it's on the application. userspace IO buffering to amortize syscall costs exists in pretty much every language.


Cutler didn’t just lose once to Unix, he lost twice. First with VMS in minicomputers, and second with docker on cloud. Now Microsoft are turning windows into an ad infested mess, he’s about to go to loss #3


How can the "loss" be even be blamed on Cutler ? He doesn't choose his CEO


> That’s actually why I’ve been installing 7-zip

You had to before, right? Otherwise you’d simply not be able to decompress RAR, 7z, etc.


My usage of Windows since around 7 or so has consisted almost entirely of gaming, and with that use case it’s rare to encounter archives that aren’t regular old zip files.

On macOS though, one of the first things I always install is The Unarchiver which similarly decompresses just about anything and readily makes use of available CPU cores. The various archive tools that come with every Linux distro are usually capable enough that I don’t need to install anything extra.


I'm not entirely sure I understand at this point. Is the built-in Windows decompresser not sufficiently parallel for your needs?


I'm actually kinda surprised that even a single-threaded implementation isn't bottlenecked by I/O speed limits.


I wonder if they are applying any sandboxing to libarchive? While it is fairly battle-tested it is still a huge chunk of C code opening often untrusted files. Plus many of the formats are likely rarely used and don't have the same scrutiny that the implementations of zip and tar do.


>it is still a huge chunk of C code

So is most of Windows.


Yes, but not all of windows is handling untrusted (somewhat) complex file formats.


RAR support is incomplete[1] in libarchive. I wish Microsoft would also help the library to improve the support, now they use it.

[1] https://github.com/libarchive/libarchive/issues/1426


They might claim it is too hard to fix and it requires PHDs to solve it, like they claimed with the whole windows terminal fiasco.


Any details on Windows terminal fiasco you refer to?



I really hope they fix this so I can stop converting cbr files to cbz.


Of note: through File Explorer, the new formats only support extraction.


I'm guessing that's probably to stop 11 users making archives that can't be extracted on 10


Honestly, I think that's okay, at least I only create .zip files, and when I do, it's just to send several files together. Only Power users care about the compression ratio, and they will install their favorite software anyway.


Two other common use cases I have for more advanced software like 7-Zip, beyond compression ratio, are the ability to select AES for encryption (vs the weak old school ZipCrypto) and the ability to tar things.

Sometimes I don't want compression at all, so I'll tar instead, just because it's easier to work with one big file over many small ones. Tar is also convenient for beaming groups of files over netcat.


I love the fact in 7zip you can open disk images and it can read ext4 and other filesystems to extract files out of them and write files back into them


You can create zero compression zips in Windows Explorer. It's probably the most common use-case for their "create" step (people just creating a quick zip to send projects, etc to each other).

But yes, if you specifically want a tarball you'll still need tar.


Don’t forget the need to send “naughty” files through corporate email. If you attach a .py/.bat/must-be-a-virus-extension, the entire message can get silently blocked. Compressing it with a trivial password can be mandatory.


Do they have the same behavior as when double-clicking on a .zip file? I like that I can navigate into the zip file like a normal folder without having to explicitly unzip it first.


Good.


The other day I opened a big tar file (which doesn't have an index, and therefore requires a full scan of the file in order to show a file list) with Windows Explorer and the Explorer window simply froze for minutes.

(Correction: as a child comment says, it was gzipped tar, not plain tar)


> which doesn't have an index, and therefore requires a full scan of the file in order to show a file list

Well, not exactly _full_, unless you're talking compressed files. You can be smart and skip ahead to read the next file's metadata by knowing the current file's size. GNU tar and FreeBSD tar already do this; getting a listing of millions of files for a hundreds-of-gigabytes tar is nearly instant this way.

Compressing the archive does throw a wrench into it. You'll have to decompress the whole thing in that case.


Yeah, windows is a disaster and windows 11 is complete garbage.


You're right, I've certainly never experienced a Linux system suddenly becoming unresponsive at any point.


To be fair, I find Linux issues way easier to fix. It's still a huge piece of software I'll never have the joy of fully understanding (I doubt most of the kernel devs. understand everything in Linux), but for the most part I know what it likes.


My NixOS boxes have actually never frozen on me. Dozens of computers, 5+ years. No problems. Still run as good as when they were bought.

Most Linux distros and Windows suffer from the same problem of state. Immutable OSes and systems basically fix this, and it's amazing. I'm happy to use a computer again.


To be honest most of the issues I have with Linux are with the userspace subsystems that build on it; the kernel itself never seems to have many issues (aside from strange audio delays after waking from suspend, but I suspect Pipewire / the Bluetooth stack to be at fault due to it being generally annoying).

Immutable computing sounds frickin amazing!!! Being able to check your entire system configuration into Git, and effectively re-build your OS setup at any time, is really something I want to explore this year.


> Immutable computing sounds frickin amazing!!! Being able to check your entire system configuration into Git, and effectively re-build your OS setup at any time, is really something I want to explore this year.

Yes, it really is amazing. My computer is amazing. I have been able to build intricate set ups that are immune to upgrades and such. I use a relatively complicated XMonad based set up right now, but because it's all in Nix, upgrades are a breeze. Yes, there is some trouble, but it's flagged before it happens or I can easily revert to the old system. This is the longest time I've gone without re-installing an OS (not that that would even be a big deal with Nix anyway, because a new install will be identical).


I have but that's a different discussion altogether. Windows is an operating system that takes control away from user, privacy lacks, it's bloated with tons of garbage and so on. It may be okay for gaming but I'd use a separate partition for daily computing that isn't Windows


OK, so the complaint was irrelevant to the conversation.


I really don't understand this kind of comment. I used to be a mac user only (still have a mac) and kind of hate on windows. But nowadays I use windows daily and I find it stable and mostly trouble free. Yes, there are some bugs, yes there are some annoyances. But it is super cheap, runs easily on a lot of hardware and can run games for hours on end with zero issue. I have gotten less blue screen / complete lockup than I have had kernels panics from macOS. I think the hate must be a stupid snob thing because while there are issues it is not like there is no issues on the competing OSs... Yes I am running Windows 11 ; on "unsupported" hardware !


"Hurr...durr...windoze bad and Bill Gate killed my puppy"

- Average karam farming HN user


Explorer in Win11 (for me) is absolute hot garbage


The fact that shell extensions are source code compatible back to 1995 and binary compatible back to 2004 is probably the main reason...

And back then, there wasn't really a strict API for extensions, so they just injected things into random places, and Microsoft, 28 years later, is still supporting that.


That's interesting I just opened a large tar archive to try to replicate your issue and it worked fine for me, no freezing.


I mean, even if you did find a large archive that did this, the same would happen on Linux. The problem isn't the operating system here, it's that compressed tarballs don't include indices in their compressed form. You have to decompress (in-memory) then iterate the metadata.


That's no excuse for freezing the UI.


I'm going to guess that there is a status bar at the bottom, based on Windows GUI paradigms. But sure, it's not ideal.

File-roller and Ark definitely do freeze up if you attempt to browse a large compressed tarball. Maybe greying out and showing the indefinite status bar is a better experience for you...but they're equally non-responsive.


Reminded me how i loved Arj back in the day, auto-splitting games to 1.44 disks to copy to friends' machines.


If they really use libarchive, ARJ isn't supported by the library [1].

[1] https://github.com/libarchive/libarchive/issues/1468


Interesting to note the use of libarchive to accomplish this, which also means very limited support for password-protected archives outside of zip.


I can understand zip, 7z, and tar. But RAR? My only experience with RAR files comes from malware and warez (illegally distributed software, often compromised). Perhaps my own experience is just biased.


You are most likely biased. I use RAR for most of my own larger archives, even on Linux (i use WinRAR via Wine - and yes i bought WinRAR some years ago :-P), mainly because its compression is much faster with comparable results to something like 7z/txz/etc.

Though i rarely distribute stuff in RAR.


I use rar for backups as well. Its superpower is recovery records. Reading bytes off a hard disk doesn't always work the same years later. I have seen corruption on hdds.

Also use it to span backups across multiple archival M-Disc blurays.

I also prefer the UI and configurable dictionary size to 7zip. Rar lets you isolate each file if you wish instead of solid compression. Ever had to insert 2 blurays just to get a 3kb text file out of an archive?


Why not Zstandard?


Built in recovery records


I guess it depends on your region. In Eastern Europe, RAR seems to be more popular than ZIP (that's why, I think, you mostly saw it on warez sites because they are often managed by East Europeans)


So long as it's just extraction that's cool. There will always be old data around and not having to install a third party app to extract it then I can't see a problem. Allowing extraction doesn't encourage anyone to create more rar archives.

But yes, the only people who use it these days are the people who started using it long ago and just never switched.


It might be driven by transparency/security.

Safely letting users easily see what's in a suspicious RAR before just blindly extracting it or opening it in third party software (possibly with known/unknown exploits) sounds like a good security feature for an OS.


Yes, people use .rar, get over it, an OS should not be designed around what a copyright holder wants, but what people need.


Rar used to be the option of choice when you had file upload size limits, then you could use multivolume.

7z does this now, so it is legacy stuff I come across I use RAR for. I am not aware of any advantage for RAR over 7z. I rarely have to use multivolume these days anyways.


> I am not aware of any advantage for RAR over 7z.

In-file forward error correction[1]?

[1]: https://www.win-rar.com/recovery-record.html


I was thinking about this when it was announced and I wonder if the motivation was somewhere else at Microsoft to scan these archives for malware on their cloud platform and someone just hacked the code to run on desktop windows or if it came along for the ride when Microsoft was intending Win11 to be an android killer for phones.


If you have many friends that are windows power users, there's a high chance they'll use rar if they ever have files to send you. This may be indicative of their cultural familiarity with the warez scene, but they use it for anything. I've received rars from people of their own music, photos, projects, etc.


A long time ago RAR offered the best compression(lowest archive size) in a free(*endless trial) tool compared to other formats. I think only bzip2 in Linux offered a similar level of compression.


> My only experience with RAR files comes from malware and warez

Same thing could be said about .mkv (Matroska), which is also natively supported by Windows. I've never seen it used outside pirated movies.


You have never seen a webm? That's (a limited profile of) Matroska.


RAR is great for long-term archiving without any additional tools. You can add recovery records, and even create recovery files (think parity / PAR files) all in one go.


It has a few minor advantages on Windows like ADS support or or recovery volumes or easier GUI.


They’re legitimizing the oppression following Eastern European border disputes /s /meta


Yeah, that's why I hate shoes. Because people who commit crimes normally wear them.



Same but fit me it’s socks

OP: rar is very very common for anything made by a Linux computer.


I wouldn't know what to do with a RAR file on a Linux machine, and I've used Linux for over 20 years (and Unix before that? Don't even ask, youngster.) I mean, yeah, I'd figure it out; but I've not had the need.

As sibling commenters said, you're probably thinking of .tar. Now that I run into a lot. :-)


unrar x archive-name

I probably installed it many years ago from the repositories. Now that linux gaming is so good I've been seeing 7z and rar being used for game mods a lot.


Are you maybe thinking of tar?


What? In my experience, RAR is extremely un-Linux. It's not free software and not command-line friendly, and it seems mostly to be used by piracy weirdoes who need to split up files for uploading to newsgroups.

If you're on Linux, you make .tar.gz or .tar.bz2 or something. Or .zip, I guess you see sometimes. But RAR? That's a windows people thing, in my experience.


I still prefer 7zip and its dual panes GUI manager.


So...use 7zip and it's GUI?

This has no effect on your choice of a third-party application.


7zip has shell integration issues on win 11.


As an aside, NanaZip[0] is a 7zip derivative with better shell integration. Also available on winget

[0] https://github.com/M2Team/NanaZip


Were those issues introduced with this feature or preexistenting?


They were preexisting. 7-zip doesn't integrate with the new Windows 11 desktop context menu, so you need to click "Show more options" first which opens the old context menu.



A simple change in the windows registry fixes that.


Yet another reason to avoid upgrading.


Or just use NanaZip instead, because it's better in other ways too.


I still absolutely detest mounting files as folders, regardless of whether or not they are archives. It just rubs me the wrong way.

So I will continue to install 7Zip and completely disable any built-in handling of archive files.


2023... BTW we had WinZip and PKWARE as customers thanks to Microsoft unsupported formats or integrations.

Apple also does not support (in the UI) all popular compression methods natively.


I've been thinking recently that I prefer an OS to have as few features as possible, but allow me to install the software I want.


In theory that sounds like a great idea, however in practice it isn't, because all you have done is compiled your own custom made distro that no one else uses and benefits from, thus just a waste of time and resources.


Of course Windows would integrate libarchive into the GUI, while Linux GUI applications still popen CLI archiver tools. This is a pet peeve of mine, but now it's just a bit sad. The majority of the work is done and it's open source, but... I don't think I've seen anyone integrating it.



I stand corrected, but this is strange. Empirically I know that at least most of the time, tools are just phoning out to `unar`, because if I run into problems it becomes immediately obvious. I wonder if libarchive is/was just not good enough to handle most of the things.


Maybe it was a licensing thing, but this should have been in XP 20 years ago.


Just a brief reminder: If you need to zip/unzip files from the command line on Windows, you can use BSD tar.

I needed to write a script that zips a directory from the command line, and found out that Windows 10/11 and at least Server 2019 includes BSD tar by default! You can use it like this:

'C:\Temp>tar acvf backup.zip directory'

So, no need to install any third-party zip/unzip CLI tool.


i use peazip on windows and Linux. supports all these and more.


Microsoft is still on the wrong path - they should stop developing the windows kernel and that boring WSL nonsense. Just use the linux kernel and build a nice desktop environment for it, they can call it Windows 2.

Once that is done, you no longer has such "native support for RAR, 7-Zip, Tar and other archive formats" problem to start with.


It's quite easy to tell when someone has little understanding of OS internals. They make comments like the above, and say Windows should get rid of what is pretty much its best feature, the NT kernel.

NT was light years ahead of its time, and I daresay its threading, I/O, permissions, and driver models are in many ways superior to the competition.

That userspace Windows sucks or is slow, is decidedly not a kernel problem.


> Once that is done, you no longer has such "native support for RAR, 7-Zip, Tar and other archive formats" problem to start with.

This distinction seems pretty silly since only tar actually comes with linux out of the box. Everything else requires you to install another software package, as has been the case on Windows for decades.


1. There's no such thing as 'Linux out of the box'.

2. This is complete nonsense. Any desktop distro comes with support for a wide variety of archive formats in their archiving apps as well as their file managers.

GNOME Archive Manager, KDE's Ark and File Roller all support literally dozens of formats. So do Dolphin (via KIO), Nautilus (via libarchive and/or GVFS), and Thunar (via its archive manager plugin which wraps various CLI tools).

On the vast majority of Linux operating systems comparable to Windows (i.e., coming with a GUI), normal use has never required desktop users to manually install software just to open an archive.

The only exception would be Windows gamers downloading warez for use under emulation in patent-encumbered archive formats for which archiving tools would not be legal to freely distribute in some jurisdictions.


By "out of the box", I mean the kernel and the GNU utilities that comprise the base of 99% of Linux distros. Also, Ark and other archiving tools commonly distributed with popular distros do not support RAR. It doesn't really matter if you think the format is only used for illegitimate purposes.

Really I'm just trying to point out how dumb it is to say that Microsoft should just abandon Windows and switch to Linux instead of rolling out their own support for new archive formats.


The kernel is probably their nicest part. Nobody likes windows ui. People at best suffer from resistance to change.


Isnt windows kernel in better technological shape than Linux?

Stuff like wsl1, etc.


If the problem is in the desktop environment why then replace the kernel? Doesn't make much sense.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: