I want to learn more about file systems from the practical point of view so I know what to expect, how to approach them and what experience positive or negative you had / have.
I found this wikipedia’s comparison but I want your hands-on views.
For now my mental list is
- NTFS - for some reason TVs on USB love these and also Windows + Linux can read and write this
- Ext4 - solid fs with journaling but Linux specific
- Btrfs - some modern fs with snapshot capability, Linux specific
- xfs - servers really like these as they are performant, Linux specific
- FAT32 - limited but recognizable everywhere
- exFAT - like FAT32 but less recognizable and less limited
Ext4 cause that’s the default and I’m lazy.
That’s a valid reason too. However sometimes btrfs has become the default ;)
Not in Mint.
Yeah I think Ubuntu and Debian based distro prefers it for stability reasons. Fedora I think switched to btrfs by default.
ZFS, got 5 system with different zpools
Google cloud storage, copilot my files with Microsoft, crowdstrike running in background for better security.
Apple chastity cage to prevent me from being tempted by Linux. /s
I wouldn’t be suprised if that’s the case for Windows users.
ZFS
I see it’s the GOAT as fs
ZFS on anything storage related. Enterprise level snapshot and replica management.
How’s it better than XFS? I heard same things about it too.
ZFS is completely different than XFS. XFS is like a better (different?) ext4. ZFS is an error-checking software raid COW filesystem that does snapshots and can have multiple replicas, both local and remote. It uses zvols and datastores. Think btrfs on steroids and with a working raid subsystem.
It’s got a weird semi-closed license because Oracle is involved but it’s never been enforced and at this point is in such widespread use in large and small enterprises that it would be impossible to enforce.
XFS does not do snapshots, replicas, and all the other myriad of things that ZFS does.
ZFS all the things. On my workstations, I wipe / on every boot except for the files that I specify, and I backup /home to my NAS on ZFS and I backup my NAS snapshots to Backblaze.
Why do you wipe your root dir?
I’m pretty much all BTRFS at this point
Me too, but why in your case?
Filesystem compression is dope.
Been running BTRFS since 2010. Ext2/3/4 before that.
Using it for CoW, de-duplication, compression. My home file server has had a long-lived array of mis-matched devices. Started at 4x2TB, through 6x4TB and now 2x18+4TB. I just move up a size whenever a disk fails.
That’s sound fantastic! Interesting that you didn’t mentiona anything about snapshots. Have you had some isshes with BTRFS since then?
Well, snapshots, too. I just consider them to be a special case of de-duplication.
I had an issue when I ran out of space during conversion between RAID profiles a few years back. I didn’t lose any data, but I couldn’t get the array to mount (and stay) read-write.
NTFS support is pretty solid on Linux these days, but just so you know, never use it as a root partition.
I have generally used ext4. There’s ways to massage it to mount on Windows, as with btrfs. Ext4 is very likely what you should do if you’re installing Linux for the first time, as it has had decades of testing and is rather battle-tested
I recently did my first btrfs install. For now, I’ve had no issues. Of course, some could happen, but I’ve generally heard btrfs is fine these days. One of its cool things is native compression support, although I forgot to enable it when I did that install.
I’ve never used XFS.
FAT32 should be rarely used these days due to file size limits and file name limits. The only place where it should still be used is for your EFI partition.
Now exFAT really isn’t that unrecognizable. It’s supported by pretty much every operating system these days. It’s definitely not for root partitions, but should be your default for flash drives and portable hard drives.
On another note, I recently tried Bcachefs on Debian Testing on a random old Chromebook. It is still in development, and not all distros support it yet, but I liked what I saw from my limited experience. It also supports snapshots, and unlike btrfs, has native encryption. For now, just ignore it, but like many in this post have said, keep an eye out for it.
As for ZFS, I’ve never tried it. The main caveat is due to licensing incompatibility, it is not in the standard Linux kernel and you have to do some special stuff.
Great answer thanks for this!
I agree with everythinf but exFAT, some devices expect either FAT32 or NTFS. I had this issue when I wanted to play totally acquired big mkv movie through USB and because of that FAT32 wasn’t an option so I went with exFAT. Not visible but apperantly it liked NTFS. It was the LG TV, my parents have 2 and same issue on both.
My pleasure. The LG problem is unfortunate. Most other devices tend to support exFAT, but LG is an exception, albeit a very big one due to its pervasiveness as a brand. I do have an LG TV, but an older one that’s getting annoying to the point it’s tempting to throw a Roku behind it. Also, do you have a laptop with HDMI? That could also be a solution.
Also, for context, part of my exFAT leanings are that while NTFS is read-only on Mac, exFAT is read-write. I’d presume as I am, you’re not a frequent Mac user, but I’ve had situations in the past where I had to use one.
I saw it too. I dislike Mac but when I’m forced to be around them I’m trying to make them work as they should. The problem is for me they are more closed and hostile to this than Windows but that’s probably because I was a Windows user so much time.
I have similar feelings about Mac, probably in part because of my former Windows use as well. On one hand, I like how Mac’s terminal and development workflow (e.g availability of gcc) are more natively Unix-like, but for that, there’s also limited OpenGL support and no Vulkan support. Meanwhile, making Windows more “Unix-y” is as simple as installed Cygwin, and fixing the menu is simple a matter of installing OpenShell. (Of course, having to contort Windows gets annoying after a while, thus why I use Linux these days.)
Yeah let’s skip the part that average Mac consumer that I know does not know terminal is. 😆 But it was a bizzare to me when someone could extract the zip archive from the GUI but I helped through terminal.
Honestly, just strike out Mac. I one time opened the Windows Command Prompt in front of someone and they were like “DOS?” 😂
Yeah it is like a solution but the most “native” and straight forward was formating to NTFS.
I use BTRFS on my Artix system, Ext4 on my Librem 5, Ext4 on my Devuan laptop and Ext4 on my Pinebook Pro. Basically when given the choice in the installer I choose BTRFS but if the installer doesn’t let me pick I don’t care enough to manually partition. I have had no negative experiences with any file system luckily so I just roll with whatever.
ZFS on TrueNAS SCALE (enables RAID-like functionality, along with many other features).
Ext4 or NTFS on everything else, simply because it’s default and I don’t use any advanced features.
Nice! What hardware are you using with ZFS on TrueNAS SCALE?
Yeah simplicity beats everything when you only use basic features.
Old dual-core Pentium, lol (Haswell I think, or something from around that time), 16GB RAM. 5 16TB SATA hard disks.
Btrfs in a luks container so it’s encrypted.
Great! Have you had any issues with this setup?
nope, it works really well, for more than a year now, this is my work PC using 8h/day, I’m using MX23 AHS version. Directly in the setup you can select encryption and btrfs volume etc. btrfs is pretty stable.
Btrfs, for the compression and CoW. I’ve been using it since a couple years. It seems stable for my use. I need to fully wrap my head around how snapshots work, though.
Btrfs snapshots have saved my ass a few times with bad updates.
From the grub menu or somehow in chroot environment?
grub menu. all my timeshift snapshots show up there. for /home i just backup to a usb with deja dup.
-
Btrfs on my laptop with openSUSE, mainly because it’s default, but also for its snapshot capabilities.
-
Whatever file system my default Raspberry Pi installation uses (probably Ext4).
-
NTFS on my main computer With Windows 10, because… well… I don’t really have any other choice, although I know there’s some kind of 3rd party Btrfs driver for Windows as well and you can ever have boot partition formatted as Btrfs, but I think it’s still experimental.
-