this post was submitted on 03 Oct 2023
215 points (95.4% liked)
Linux
48200 readers
1035 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
But it's not a tarxz, it's an xz containing a tar, and you perform operations from right to left until you arrive back at the original files with whatever extensions they use.
If I compress an exe into a zip, would you expect that to be an exezip? No, you expect it to be file.exe.zip, informing you(and your system) that this file should first be unzipped, and then should be executed.
Dots in filenames are commonly used in any operating system like name_version.2.4.5.exe or similar... So I don't see a problem.
Hiding part of a file name might be the real problem. A
IMG.jpg.exe
- would result in a harmless looking JPG, but it isn't.which will not stop a bad guy form doing so. Therefore dont hide part of a filename and get people used to seeing tar.gz
use a real operative system then
Sounds like a Windows problem
I get the frustration, but Windows is the one that strayed from convention/standard.
Also, i should've asked this earlier, but doesn't Windows also only look at the characters following the last dot in the filename when determining the file type? If so, then this should be fine for Windows, since there's only one canonical file extension at a time, right?
Very good point. Though, i would argue that this would be much less of a problem if Windows stopped sometimes hiding file extensions.
I don't believe what you're referring to is really a Windows versus Linux/Unix thing.
I disagree, but i do get what you're saying here. I don't think that example really works though, because a
.mp4
file isn't derived from a.h264
file. A.mp4
is a container that may include h264-encoded video, but it may also have a channel with Opus-encoded audio or something. It's apples and oranges.Also, even though there shouldn't be any technical issues with this on Windows, you can still use a typical short filename suffix if you wish, though i would argue that using the long filename suffix is more expressive. From "tar (computing)" on Wikipedia:
I think part of the reason why the long extension is often preferred is because it's much clearer and it's guaranteed to be supported and decompressed by the respective tools. Even when they don't suppot tar archives, they'll just give you the uncompressed tar in that case.
It's also very common to do that with other extensions (not just
.tar
) when compressing big files. For example, when archiving logs they'll often be stored as.log.gz
, which makes it automatically clear that it's a log file directly compressed withgzip
and meant to be examined with tools likezcat
andzless
to view it.And in cases like that you really need it to be clear on what data does the gzip stores, since it does not keep metadata about the file so you might not be able to get back the original name/extension of the file if you rename the gz file.
I get your point. Since a
.tar.zst
file can be handled natively bytar
, using.tzst
instead does make sense.There already are conventional abbreviations: see Section 2.1. I doubt they will be better supported by tools though.
In this case it really seems this windows convention is bad though. It is uninformative. And abbreviations mandate understanding more file extensions for no good reason. And I say this as primarily a windows user. Hiding file extensions was always a bad idea. It tries to make a simple reduced UI in a place where simple UI is not desirable. If you want a lean UI you should not be handling files directly in the first place.
Example.zip from the other comment is not a compressed .exe file, it's a compressed archive containing the exe file and some metadata. Windows standard tools would be in real trouble trying to understand unarchived compressed files many programs might want to use for logging or other data dumps. And that means a lot of software use their own custom extensions that neither the system nor the user knows what to do with without the original software. Using standard system tools and conventions is generally preferable.
I would argue what windows does with the extensions is a bad idea. Why do you think engineers should do things in favour of these horrible decisions the most insecure OS is designed with?