What file systems are you using on your devices and why?

Psyhackological@lemmy.ml to Linux@lemmy.ml – 164 points –
en.wikipedia.org

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
256

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.

Ext4 and ZFS.

  • Ext4 for system disks because it's default in OS installers and it works well. I typically use it on top of LVMRAID (LVM-managed mdraid) for redundancy and expansion flexibility.
  • ZFS for storage because it's got data integrity verification, trivial setup, flexible redundancy topologies, free snapshots, blazing fast replication, easy expansion, incredible flexibility in separating data and performance tuning within the same filesystem. I'd be looking into setting up ZFS on root for my next machine. Among other things that would enable trivial and blazing fast backup of the system while it's running - as simple as syncoid -r rpool backup-server:machine4-rpool.

I'd be looking into setting up ZFS on root for my next machine

I too was on the path of adventure once but then the kernel module hasn't been built after the upgrade. Also btrfs offers some nice features for root especially that zfs doesn't have.

It's one of the reasons I use Ubuntu LTS, the ZFS module is bundled by default.

Also btrfs offers some nice features for root especially that zfs doesn’t have.

Oh? Elaborate pls.

You can boot straight into snapshot, may be useful if an update went wrong or you don't like new kde.

You can change drives and raid configuration online. For example I bought a laptop that had windows preinstalled, so I used the second half of the disk space for linux, then I figured I don't need windows so I formatted windows partition to btrfs, added it as a new device, moved all the data there, deleted the old linux partition and extended the new one to the whole drive, all that easy and without reboot.

Oh nice. I think that all of those are possible with ZFS too. Although I'm pretty sure that the snapshot-boot is done outside of ZFS itself. As in, there's something else that takes the snapshots and makes them available to the bootloader. I think zsys used to do that in the experimental ZFS-on-root support that shipped in Ubuntu 20.04. I recall having a snapshot appear before every update and those snapshots were selectable from GRUB.

Every year I buy a couple ~$5 USB drives and plug them into my jbod machine in a software raid1. At this point there's about a hundred in long array of daisy chained USB hubs.

Each drive is formatted with fat32 and added to an LVM. Don't judge my ghetto NAS.

I would love to see a complete post about this.

So would I. I'm really curious about how well it works.

ext4 because its the default and works fine

Never doubted it. Do you use journaling feature on it?

I like ext4 because it's easy. If anything breaks, ANY live USB can fix it. I use fat32 for my removeable drives, because anything can read it. I don't use journalling for anything manually, but I imagine it's useful when my disk crashes because I let my laptop die

Wasn't that the entire purpose of ext4 vs ext3? As the default, I also keep journaling on for ext4 partitions. Even /boot.

ext3 had journaling, but not ext2. Also ext3 doesn't really exist anymore as it was merged into the ext4 driver which can read the old format.

ZFS where possible for maximum reliability

It also has self healing, no "partitions", high performance, compression, smart drive redundancy without RAID holes, encryption, deduplication and an extremery intelligent cache called ARC

ZFS is completely ridiculous. It's like someone actually sat down to design an intelligent filesystem instead of making a slightly improved version of what's already out there.

..and that's why Oracle fucked up the licensing on it. We are not allowed to have nice things.

Why though? AFAIK the CDDL totally allows us to have nice things. It's similar to MPL and considered a free software license by the FSF. Sure it's not GPL but it doesn't disallow us from changing ZFS, using it, even commercially.

I don't really understand why the linux community complains about the licencing. I'm sure openzfs overcame that. In the freebsd world it's native on root straight out of the box

Yeah there's no essential problems with it in itself as free open source software. Legally it doesn't seem compatible with the Linux kernel source code, as in you can't compile it into the kernel but it seems to be okay to load it as a binary module, prebuilt or built on demand.

Yet practically no distros support in out of the box

And on root? Can practically forget it

Well Ubuntu is the most popular distro and it supports it out of the box. It's had experimental ZFS-on-root support since 2020. Unfortunately it needs more work to be to be promoted from experimental status. But yeah, I don't know of any other diatros supporting it on root out of the box. Which is sad.

I didn't mean the license. I meant, it was a "fuck you" from Oracle.

I feel your pain on the CDDL (although I think it is still considered a “free” license), and while I love to hate Oracle, I think the CDDL decision was originally Sun’s, even if Oracle could “free” it now to be GPL.

I don't 'love' to 'hate' Oracle. For much of my career it seems like they've gone out of their way to make things more difficult than they need to be. If I had to calculate how much time fighting with their projects cost me (compared to everything else), they'd be at the head of the list (with one more zero at the left of the decimal point than Microsoft).

Holy Xfs is probably not close to that?

XFS is simply a journalling filesystem.

ZFS is a COW filesystem and volume manager with compression, block management, and an adaptive read cache.

Kind of an apples-to-oranges comparison.

Technically XFS is also a CoW filesystem, but it doesn't have the vast array of features that ZFS does like volume management, snapshots, send/recv etc. It does have reflink support which I guess is a kind of snapshot for a file.

Well, encryption is very much not a strong point of zfs. I agree on all other points tho.

Actually native encryption has been a feature of ZFS for a few years now. It's nice not having to have an extra LUKS layer.

Yeah, but it’s had some actual data corruption bugs related to sending encrypted snapshots (off the top of my head).

Not really bugs, the process for zfs send differs with encrypted snapshots. Make sure you consult the docs. Always test your backups to make sure you cloned properly

ZFS, got 5 system with different zpools

On root?

I do have 1 system with ZFS mirror boot drives

Did you use an installer to do it or manual setup?

I started using it on my NAS and also on root. Then I switched my personal machine to ZFS on root. I manually created both setups (somehow). This is the worst part in my opinion. The best decision, though, was to ditch grub in favor of zfsbootmenu. Skips all the brittle steps with grub and its boot partition. Now I just have zfsbootmenu directly loaded by UEFI from the EFI partition. Everything important is directly on ZFS, including... well, everything. Can also use snapshots but I have not needed that yet.

Proxmox install on the zfs mirror boot plus some other pools, everything else is currently truenas single boot drive with pools

I do have other proxmox stuff running zfs*

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

BTRFS raid on LUKS-encrypted devices (no LVM, all unlocked with one password via SystemD encrypt hooks).

Which RAID? I need to read about SystemD encrypt hooks because I know nothing. Also why not LVM? Is btrfs more flexible in partitioning when you want to extend it or shrink it? I heard that you can merge "partitions" on 2 different disks so they are visisble under one mount point.

Btrfs can mostly fo everything you would normaly use LVN or raid for natively.

Btrfs raid0 lets you combine any number of differently sized drives into one (just without the speed boost of traditional raid0 because with flexible drive sizes data is not symmetrical striped). And btrfs raid1 keeps every data duplicated, again with flexible number and sizes of drive (also with metadata on every drive).

The sytemd hooks (instead of the traditional busybox ones) then manage the one other task you use LVM for: unlocking multiple partitons (for example multiple raid partitons and swap) with just one password. Because the systemd encrypt function tries unlooking all luks partitions it finds with the first password provided and only asks for passwords for each partition if that doesn't work.

PS: btrfs subvolumes are already flexible in size and don't need predefined sizes. So the only things that need to be created separately are non-btrfs stuff like the efi system partition or a physical swap (which you can also skip by using a swap file instead of a partition).

ZFS on anything storage related. Enterprise level snapshot and replica management.

How's it better than XFS? I heard same things about it too.

XFS does not do snapshots, replicas, and all the other myriad of things that ZFS does.

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.

OpenZFS is under a completely FOSS license but it's incompatible with the GPL and can't really ever be merged into the Linux kernel. The workaroundids to provide it as source code which gets compiled as a module every time there's a new kernel via dkms.

More controversially, Canonical ship OpenZFS pre-compiled in Ubuntu which some lawyers believe to be infringing on ZFS' codebase.

Honestly the OpenZFS situation on Linux is probably the biggest single reason for the growing interest in btrfs and bcachefs, the former slowly becoming default on more Linux distros over time and lots of investment from SUSE and Facebook AFAIK.

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.

Btrfs isn't stable in big configurations. The big issue is that resilvering takes a long time and hurts performance. ZFS is the right answer.

Linus says no.

I'm sure it's great and all, but the hassle of having a filesystem that's not in the kernel is a no-starter for me. Maybe one of those fancy NAS-distros that are based on some *BSD.

Linux works fine with ZFS. I wouldn't use it as your boot device but for big storage it is very reliable and stable. It also can take advantage of ram with Arc and has optional special disks. (Metadata disk, slog and cache as an example)

Ext4 for everything when possible, because its reliable and proven. I'm looking towards Btrfs for my next system drive, as it is mature now and has good features. But I would use Ext4 for everything else still. For interoperability that doesn't understand Ext4 it would be NTFS when supported, otherwise fallback to FAT32.

That's the entirety of my knowledge and what I use when I have to format it myself. :D

I respect your reliable and proven comment. I really love the features of BTRFS and that’s why I use it, but I also really care about my data. I have secondary installations that use EXT4 and work very well.

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?

Preventing unwanted state

If you install and then uninstall something, it will almost certainly leave logs, configurations and other garbage in places you don't expect. Next time you want to use it, it isn't the clean install you expected

Edit: reasons added in because I can't read the post title

  • OpenBSD laptop: ffs2, vfat for efi system partition
    • Why: Contrary to popular belief, OpenBSD does not support zfs. The only other filesystem options are msdos (fat family), and ext2fs (mostly for Linux compatibility as far as I can tell, filesystem is experimental and lacks a bunch of features according to the manpage). Makes ffs2 the only sane option.
  • OpenBSD vps: ffs2
    • Why: See above.
  • Pinephone running PmOS: ext2 boot partition, ext4 root partition
    • Why: Defaults.
  • Void Linux VM: ext2
    • Why: I prefer not having journaling on flash memory. This hasn't bitten me in the ass too hard yet, and even when it does I can usually get around system files being lost with integrity tools. Maybe I'll dabble with f2fs some day, but I'll need to read about its features and shortcomings compared to ext2.
  • Alpine Linux VM: ext4
    • Why: Would have installed as ext2 as well, but I forgot
  • Steam Deck: ??? (too lazy to check, 9/10 chance it's ext4)

Yes the Steam deck FS is ext4.

Why ext2 on Void?

I prefer not using journaling filesystems on flash memory, I haven't had any major data integrity issues yet because of it. I would have made the Alpine fs ext2 as well, but I guess I missed it during install. I think you can just disable journaling in ext4 anyways, so if I care enough I'll just do that.

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.

You mentioned CoW. I’m really taking advantage of this because I have multiple Wine prefixes that have lots of duplicate data. I want to give every application it’s own prefix, and my underlying file system allows me to duplicate the blocks so the prefixes are basically free where before it’s several hundred megabytes just to make a new prefix.

Honestly I saw btrfs in the arch install guide and read about it because I thought the name sounded funny. I used it until I distro hopped to NixOS couldn't figure out how to install it with btrfs, so I'm back on ext4.

Maybe I'll give it another try next hop, which is likely soon since Qt theming seems impossible on Nix. :/

Yeah, I did find the page, but it assumes you're doing a command line install whilst I was using the graphical installer. Now that I know more about Nix I think I should've gone for a CLI install, but I don't know if I will stick with it due to the themeing issues.

I always forget that they added a graphical installer, but IMO it kinda defeats the point of having a declarative config file setup your system.

What issues are you having with Qt themes?

Agreed! I wonder how it will work if I have to reinstall, I guess I git clone my flake from the install CD and use that instead.

For Qt themes, I had Catppuccin working on Arch but I haven't found a way to apply it. I tried Stylix (kde.enable = true does nothing for Dolphin or nheko), the official Catppuccin flake (dropped GTK support, sets QT_STYLE_OVERRIDE which breaks nheko). I know it's possible to theme Qt apps because I've had it working before, but I can't find any info on how to do it with NixOS that works..

Did qt5ct/qt6ct not work for you? There's also Kvantum support.

Is there a way to set catppuccin as the qt5ct theme? I tried manually adding the files but using qt5ct breaks all icons in Dolphin (it displays alt text or nothing), and kind-of applies in nheko but leaves the main window background fully white.

You just download and put the theme files where it tells you to (and in the qt6ct folder too) and set the theme (and icon theme) in the app. Icons breaking is interesting; I just installed Dolphin and it had no problem using my icon theme. Does PCManFM-Qt also have this issue for you?

I tried this and was able to set a colorscheme in qt5/6ct that stuck in nheko (with QT_QPA_PLATFORMTHEME=qt5ct), but it still has the same icons issue in Dolphin. pcmanfm-qt also has the icons missing.

Did you manually set the icon theme in qt5ct/qt6ct? I recall having to do that on a fresh install.

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.

I care a lot about filesystems.

BTRFS in FS-managed RAID configuration for automatic self-healing and snapshots for instant automated backups (though I keep a traditional backup too for protection against bugs and user error).

Storage is cheap compared to how much I value my data. BTRFS has very good support on Linux, integration with some backup tools, and I really want to use a FS that has full data checksums to make sure the data stays correct at rest. I like that I don’t have to use equal sized drives and can use whatever I have available, though I would appreciate a better read distribution model rather than the current where it just chooses a random drive to read from when multiple copies are available.

Disadvantages include difficulty accessing from Windows in my experience, less than stellar performance on HDDs, not very space efficient for small files systems because of the bulky metadata, and some uncommon RAID types don’t work correctly and will eat your data. I also don’t recommend it for use over USB because many such devices don’t correctly implement sync, and this is very important to stay on the correct transaction number and prevent file system inconsistencies. If I had to boot from USB, I wouldn’t pick BTRFS.

I don’t think exFAT or FAT32 offer POSIX permissions. I’m not sure if you could have a root file system there.

Have you seen/tried https://github.com/maharmstone/btrfs ?

I have heard it is decent but have never had a need to try it.

Yes I have and it caused file system corruption the two times I tried it. Something wasn’t quite right.

Good to know. I know a couple of people in the steam deck world who dual boot windows and steamos and have their games on a btrfs partition that use it so they don't need games installed twice ... I have no desire to do this so I have never tried.

It’s possible I was just unlucky, but data corruption makes it harder for me to sleep at night. I choose to be a little more conservative and consider that tool beta quality.

|I care a lot about filesystems.

Damn bro, I didn't think I was gonna cum in /linux

So, genuine question: why btrfs instead of zfs? Sounds like your use case would fit the latter.

BTRFS is zero effort on root, because it is included in kernel. ZFS on root is extra effort at least on Arch, due to licensing restrictions.

Additionally, at least for my use-case btrfs benefits me since it is less picky about drive sizes being the same and duplicating everything correctly - letting you essentially just throw additional storage at it as you acquire it.

Does ZFS handle data duplication on unequal sized volumes or heterogeneous pools? I don’t believe so, and BTRFS was a first class installer option.

I use BTRFS for the snapshot and subvolume tools.

It is pretty good but usability is a mixed bag. Always getting better by the month though, it feels like.

Ext4 with LVM.

I like BTRFS and it's features but sadly Debian doesn't have a preset for it in it's installer so the only way to use it is to manually partition and I absolutely suck at that.

When you know LVM I think you can manage manual paritioning. :) Especially as btrfs is advertised with snapshots so trial and error is encouraged.

Sorry if this is a dumb question, but have you tried using gParted? GUI, new-user friendly, easy to visualize your system, I've used it for over a decade on multiple devices...

Actually, I was using gparted yesterday! I was trying to format a USB drive to exFAT but the option was greyed out, so either gparted doesn't have support for formatting in exFAT or I needed an optional dependency.

Just ext4 on my Linux things; I got scared away from btrfs because of some file loss horror stories

Ext4 is prone to corruption as it doesn't have much error detection. Whatever you do don't lose power.

Ext4 is prone to corruption as it doesn’t have much error detection. Whatever you do don’t lose power.

I use Ext4 since 20 years in all of my systems. And I had my fair share of power loses. It's not a problem as you describe, because Ext4 is journaling. Ext4 is robust and one should not worry to lose data randomly.

Quote from: https://www.pcmag.com/encyclopedia/term/journaling-file-system

A file system that contains its own recovery capability in the event of a failure. In a journaling file system, the information about the changes is recorded in a separate log (the journal) before the indexes to the files are updated. If a power or other system failure corrupts the indexes as they are being rewritten, the operating system can use the log to repair them when the computer is restarted.

I have had it get corrupted. This isn't an issue on btrfs and zfs

I believe you and understand that Ext4 is not 100% fail proof. But my point is, its extremely rare that Ext4 would corrupt the filesystem or files, even in an event of power loss (depending on many factors off course). I use Linux as my main OS since 2008 and since then Ext4. And I do not have these problems. My point is, Ext4 is a good and reliable option for day to day usage on a desktop PC, without worrying to lose data.

Also BTRFS isn't stable for too long now and only a reliable option for a few years. Depending on the configuration, both filesystems can be a safe option to use. I agree that BTRFS has some benefits, including extended security over the data. I also plan on using it in the future. My only concern is, how you frame it and tell people how fragile Ext4 is, while it is not. Its a safe and good option for everyone, without the need for additional tools and special care like its needed with BTRFS.

Ext4 is a little fragile in my experience. It can get corrupted quickly when things go wrong. To be fair most hardware isn't going to cause an issue and I have only had a issue a very small amount. However, when there is an issue fsck tends to fail as it has no way to check data integrity. The result is a completely broken system filled with corruption.

Btrfs and ZFS are superior as they check the data as it goes across. (Especially ZFS) That isn't to say ext4 is bad as I just find it is hard to recover data from if things go very south. The benefit of ext4 is that is very simple. It doesn't have support for subvolumes, datasets or anything like that but it does just work.

Tell me about those stories, maybe we can debunk or prevent them today.

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.

I am now all-in on bcachefs. I don't like btrfs, cause you still sometimes read about people loosing their data. I know that might happen with bcachefs too since it's early days still but fuck it. I like the risk.

Filesystem level compression and encryption are so nice to have.

I don't like btrfs, cause you still sometimes read about people loosing their data.

That was only on RAID setups. So if you have only a singular disk, as opposed to an array, you're fine. And that issue has been fixed for a while now anyways.

I've been running btrfs on my laptop's root partition for well over a year now and it's fine.

True true, I'm planning to go balls deep too since it have good raid capability

I get the feeling I’ll become a bcachefs fan for those reasons in the future (I tested it on a spare laptop as soon as 6.7 got into Debian Testing), but for now, I use a mix of ext4 and btrfs, as bcachefs-tools isn’t in Testing. It is trivial to apt-pin, but I try not to make FrankenDebian a regular thing. I have a feeling that they’ll iron it out and Bcachefs will be an option in Trixie by the tome it hits stable, if still with a /boot partition considering the slow state of Grub support.

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.

ExFAT is the LCD filesystem for flash sticks. FAT32 is the filesystem that you have to use for devices designed back when Microsoft was awful about Exfat licensing.

Everywhere else, Btrfs. If Oracle didn't poison-pill ZFS licensing and it was common on Linux, I would be using that instead. Basically, taking it on faith that a drive didn't fuck up your data is crazy. The most basic responsibility for a filesystem should be ensuring that "the files come out exactly the same as when they went in".

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?” 😂

Do that on Linux, update your packages in the café and you can be banished from it as a hacker.

Solution 1: Use Synaptic while in the cafe.

Solution 2: If I’m going to get called a hacker (or cracker, if you’re some dude from the FSF), might as well earn it.

Ia Synapthic up-to-date?

I joke about being hacker when I share my screen and run long Ansible playbooks.

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.

I use ext4 for all boot drives and root filesystems. Anything really important goes on a ZFS array. And for my Linux isos, I use a drive with ext4 + snapraid. The parity drive has xfs because ext4 has a 16tb file size limit.

Got rid of anything NTFS as it was unreliable and slow on Linux.

Ext4 on every Linux device.

Ah i dont have any other kind of devices (android on mobile, but there I have no choices on fs)

Why not btrfs? Don't know, been using what has kept working flawlessly for me for the last 20+ years, no need to replace ext4.

  • 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.

ZFS for nearly everything plus ZFSBootMenu EFI on root data pools. Get a bad upgrade? No problem, boot a previous snapshot (auto created with a pacman hook), which I had to do recently when 6.6.39 LTS kernel had a bug. Snapshots are also great when doing things such as upgrading postgres, hass, Plex, etc.

I've been using ZFS now for a few years for all my data drives/pools but I haven't gotten brave enough to boot from it yet. Snapshotting a system drive would be really handy.

ext4 on all hard disks, but my installs are all several years old at this point, and I might choose differently if I were starting over from scratch. The boot partition on the ancient laptop might actually be ext2; I don't remember and it's certainly old enough that that might still have been preferred Gentoo procedure when I first set it up. Removable media might be ext3, ext4, or vfat, depending on compatibility needs and how long ago I formatted it. If I buy an SD card or USB stick that turns out to be preformatted in exFAT, I reformat it before use to ensure everything can read it.

They're all solidly reliable filesystems (well, except for the vfat), but perhaps not the most featureful.

Yeah same here, everything is ext4 'cause it's always worked and has never given me any troubles. But next time I have to reinstall I am tempted to give Btrfs a go.

Btrfs cause I'm limited on storage rn. So the compression saves me good amount of space.

Is there a way to tell how much space compresses? Would that be a game changer for instatlling games I wonder.

Ext4 bc of its speed for games and my main files. Btrfs on the root for compression

A combination of XFS and ZFS. I work in high performance computing (academic). While I love the reliability of ZFS for data archival and peace of mind that results provably haven’t suffered bitrot, sometimes I just need a 10 TB temp file(s) with fast mostly-sequential R/W. Appropriate selection of file systems lets me have both.

As an aside, I’ve been watching bcachefs with some interest, as it seems to be getting faster with every kernel release, building on the data integrity guarantees of ZFS while pushing performance boundaries and being GPL compatible (i.e. in tree). Kent Overstreet et al. have done a fantastic job with this FS.

XFS on my server VMs and my laptops and desktops.

ZFS on my file server. I'd use it on my laptops and desktops too (and have done when I was using Xubuntu) but I've switched toFedora which doesn't come with a way to easily install with ZFS and I don't feel like jumping through hoops to get it done. And I can't stand btrfs. I don't know what it is about it, but I just don't like it.

It's all Ext4, but I run SnapRAID on top of that on my data drives. I'm sure lots of people would tell me I should use ZFS/BTRFS instead, but I'm used to SnapRAID, and I like the idea if something goes wrong, I won't lose all my data.

Btrfs main boot drive

Xfs main storage drive

exFAT external "archive" drive (easy to connect to Windows machines if ever I need my backup in someone else's windows machine in an emergency and such)

So you went for exFAT when you want to throw some data onto external drive? I think you could also got away with NTFS in your case.

Idk, exFAT is meant to be compatible with more stuff than NTFS. If I ever decide to hook this HDD up to a console or smartTV to play the videos I have on it, it is guaranteed to work.

Btrfs, ZFS and ext4. My servers use ZFS, my client machines mostly use btrfs and I have a sprinkling of ext4 partitions for specific workloads. I'm all in on CoW filesystems for snapshots, send receive, transparent compression and reflinks. I like btrfs on client machines and SBCs because it's easily available (baked into the kernel) and doesn't require maintaining dkms or holding kernel versions until ZFS supports them and because snapshot handling and other filesystem admin tasks are simple and straightforward. I run ZFS wherever data integrity is important, eg: storage servers and backup targets, but largely prefer working with btrfs.

I use bcachefs for my games, I like that it lets me have multiple disks with redundant data copies, plus ssd caching of frequently accessed files, this fs is linux specific for now as far as I know, and is still experimental. I use ext4 for everything else, and FAT32 for flash drives.

Bcachefs is ready for real use?

In my use it has been pretty stable so far with 7 disks participating (3 caching SSDs, 4 mechanical disks, with 3 copies of metadata and 2 of data), but I'm not using the more experimental features like erasure coding, I will note the on-disk-format has changed twice since it has been in the kernel, and it hasnt been there long, but it has succeeded both on-disk-format upgrades without obvious data loss, and it recently got self healing for some checksum errors, Id say its probably ready for use if the data is backed up, replaceable, or can be gone without (so for me games are all I have that fits this). Otherwise I would use caution if you use it, but I am very optimistic about the future of the FS, as Kent Overstreet (the creator) has taken a lot of care with it.

I've only been put off with how slow it is in phoronix latest benchmarks

That's fair, it has changed a bit since then and I'm hoping we get another filesystem benchmark to see if it has improved, and the caching features might offset that on frequently used data, but I don't know how hard that would be to benchmark.

Oh, didnt know that was posted, some of the tests seem to be different from last time, it hasnt regressed but hasnt improved much yet either (from the ones that were the same). It does seem to have pulled ahead of BTRFS since the last test, doubling score in the DBench test, but it still varies a lot compared to the other filesystems it seems, doing worse pretty regularly.

Depends. Slower desktop machines XFS.
Standard desktop XFS, if it has a smaller SSD, Btrfs.
Home server ext4/XFS + ZFS. Generic servers at work ext4/XFS, backup/storage servers ZFS.
Database server, experiment with ZFS with compression enabled - ratio 2:1, but encountered problems (probably a bad HBA model), standard ext4/XFS.
Hosts with virtualization, small server - XFS, big server - ZFS (technically a ZVOL).

dual boot NixOS and FreeBSD on a single drive, ext4 on Nix and ZFS on FreeBSD. each partition has its own boot, swap and root, all encrypted

btw, OP wrote that FAT32 is limited, isn't it the default fs for the boot partition? can other fs like ext2/3 be used?

NTFS Usally for windows,ext4 for linux,btrfs to install linuz on,vfat/fat32 for cross platform compatibility

Btrfs because it sounded cool when I first read about it and worked fine so far :3

Yeah it sounds "better" FS. Do you use snapshots?

Yep, got Timeshift hooked up to make a snapshot each time I update my system and I can boot into them via GRUB. Haven't needed that so far, thankfully, but it's there just in case.

ext4, but the btrfs activity visible in the kernel changelog has slowed down recently after a long period of many bug fixes, so maybe I'll give it a try next time.

Servers - btrfs. Fewer layers of abstraction, easier to manipulate.

Laptops - ext4. I don't do anything weird with the onboard storage, plus it supports fscrypt.

Flash drives - exFAT. I usually need to access them on multiple platforms and exFAT is about as cross-platform as VFAT (but supports bigger files).

I've been basically using btrfs on a lot of my disks because of the features it has.

Before I switched to a borg based system, my backups partition used btrfs for compression.

My main OS disk is btrfs so I can use timeshift snapshots, which are really worth checking out if you tinker with your system a lot.

I have two more btrfs partitions software raid0'd together for my steam library, nix store and other big but loosable things.

And my main home folder uses btrfs because I think the checksumming thing it does is more reliable for error detection, and cow is more fault tollerant on power failure?

... And I now fell like I'm one of those people with an over engineered storage solution. I just never get rid of old ssds or hard disks!

We use btrfs for the / partition and xfs for any data partitions. Has served us well, the snapshot feature saves us some valuable time when an update goes awry.

Why xfs let's say over ext4? Just asking out of curosity.

The main distribution we use has it like that by default and our (admittedly rudimentary) benchmarks haven't shown much of a performance difference versus ext4 so we kept to the default.

Whatever my installation CD had as default 😂. I'm guessing ext4?

Do lsblk -f and you will know for /home or / partitions. But probably yeah. However Fedora uses btrfs as default now so depends on the distro.

Depends on the distro, some have started to offer btrfs by default.

NTFS for the drive I had before jumping to Mint. Currently reporting several hundred gigabytes free, but refusing to make any new files, because... I don't know. I'll deal with it after an upcoming move.

The OS / home SSD is ext4, and so is the fat loud hard disk I recently purchased through an entire month of fighting Amazon over gift cards.

I tried exFAT for my USB stick but car sterio cannot read it.

Yeah that's weird when I read about exFAT it seemed like same compability but no FAT32's limitations but in practice that wasn't the case.

Most of my drives are EXT4, but I started using BTRFS a couple years ago and will be using it on all new installs from now on. I really like being able to make snapshots and compression reduces the install size quite a bit.

Every photocopy machine I've come across that accept USB sticks do not support exFAT, so what I would do with my USB stick is to split it into two partitions, one FAT32 and the rest exFAT.

ext4 because I value my data and don't want to lose it. I used to mess about with ZFS for mass storage but it's a university course to learn how to use and have decent performance.

I used to use XFS, but ext4 caught up.

And I used to use XFS... on something other than Linux.

xfs has reflinks. That means you can copy huge wodges of data nearly for free on one filesystem. For backup systems this is a killer feature. Veeam rolling up incremental backups into the last full happens in seconds because pointers to blocks are juggled around rather than the data blocks themselves.

xfs has been around for a very, very long time. I use it for larger filesystems eg Nextcloud, Zoneminder and the like (and Veeam backup repos that are not object storage). I use ext4 by default.

pfSense boxes - zfs because the alternative is ufs.

RPi - OverlayFS (with ext4 and tmpfs) gets you a generally read only filesystem with changes held in RAM. Ideal for kiosks, appliances and keeping memory sticks alive.

Windows - NTFS, it works well and has streams and there aren't many other options (ReFS is a bit new but it does have reflinks)

Xfs is solid Commenting b/c I'm disappointed no one else recommends

ext4 on everything except external drives where I put NTFS.

So you have a dual boot or Windows machines I'm guessing for any of these

  1. Microsoft Office
  2. Gaming
  3. Adobe

I don't dual boot, I just have some other Windows machines that I use rarely for Windows-only software that require an external connection, like Odin for Samsung devices.

I use Btrfs for my root partition to be able to rollback if something goes wrong after update. XFS: in all other cases, since I hate the lost+found directory on ext4. Although I don't think there's any significant difference between ext4 and xfs in performance and reliability.

I'm curious now about BTRFS.

How do you roll back in case of problems?

https://discovery.endeavouros.com/encrypted-installation/btrfs-with-timeshift-snapshots-on-the-grub-menu/2022/02/

Basically, I just followed this tutorial for my EndeavourOS installations. It's as easy as choosing an older entry in GRUB. Fedora offers something similar by default, and I think Tumbleweed does too.

Moreover I'm now playing with Arkane Linux (https://arkanelinux.org/), immutable flavour of Arch, it features another magic with btrfs and rollbacks without snapshots and GRUB

Bookmarking Arkane. I'm a huge fan of Fedora Atomic but miss AUR.

Oh ok cool! I'm going to check it out.

I'm taking a lot of notes for my next install. Trying to build something solid with Kubuntu.

Take snapshot. If problem occurs, manually change boot label to use snapshot label.

F2FS, because solid state and speed

Oh never heard of it. How's your environment suited for it then? Give some details please.

not sure what you want to know...

  1. have a solid state drive
  2. format it as f2fs

done; just use it normally

Do you use it for USBs NVMe and SSDs or SSDs exclusive on the main system?

FAT32 for USBs, as I frequently need them to be bootable.

F2FS for my M.2 NVMes, desktop and laptop, but would also use it on SATA SSDs as they're all flash.

  • Ext4 main computer
  • NTFS for hard drives and stuff that need to be shared with other people using Windows
  • BTRFS for the NAS

Interesting choice for NAS, why not the others that seem like better alternatives?

Well, as far as I know, BTRFS and ZFS are the recommended file systems for NAS's. They have self-healing capabilities so I can be slightly more sure that my data does not get corrupted over time.

Is self-healing process automated or you need to somehow enable it so it happens from time to time?

I've got Btrfs on my desktop for the OS drive cuz that was what Fedora recommended when I was installing it. It took a bit of effort to get snapshots working properly, but other than that, I've had no issues with it at all over the past year. I've got an exFAT drive and an NTFS drive in there that are kind of leftovers from using Windows. I've been thinking about reformatting the exFAT drive to ext4 or something, since all it really does is store games, and having the ability to symlink to it would be nice.

I've got a TrueNAS machine as well and that uses ZFS for pretty much everything.

I wish I'd actually chosen a file system instead of just letting window's at the time default to NTFS for external drives.

Moving from Windows to Debian; NTFS has been nothing but a headache. I've actually had to setup a windows machine to serve that drive pool via SAMBA as Linux just won't play nicely with it.

Random thoughts, no particular order

I think btrfs was the default the last time I installed Bazzite, but I don't really know anything about it so I switched it to ext4. I understand the snapshot ability is nice with rolling release distros, though.

It'd been ages since I'd used FAT32 for anything until I made a Debian live USB when I was setting up my pi-hole on an old Core2Duo recently. It would only boot on FAT32 for reasons I probably once knew. 😆

NTFS was an improvement over the FATs what with the journaling, security, file streams, etc. I use it wherever I still use Windows (work).

Most of my general purpose USB flash drives use exFAT. I like not having to worry about eject/unmount.

NTFS feels rock solid if you use only Windows and extremely janky if you dual-boot. Linux currently can't really fix NTFS volumes and thus won't mount them if they're inconsistent.

As it happens, they're inconsistent all the time. I've had an NTFS volume become dirty after booting into Windows and then shutting down. Not a problem for Windows but Linux wouldn't touch the volume until I'd booted into Windows at least once.

I finally decided to use a storage upgrade to move most drives to Btrfs save for the Windows system volume and a shared data partition that's now on ExFAT because it's good enough for it.

By default, windows does "Fast Boot" which doesn't make booting any faster, but does have the benefit of leaving the volume in a mounted state when you shut it down.

Oh, right. Fast Boot. I forgot about that bundle of joy.

But that's wasn't the only instance of an NTFS volume suddenly being broken. Another favorite was when I shrunk a volume on one disk from Linux (and then remembered that Windows correspond done it better) and rebooted to have it fixed and Windows proceeded to repair one on a different disk.

Sure.

Bazzite defaults to btrfs and yeah this distro with rolling back changes is on another level.

Well you probably used it if you had any brand new USB as it's the default. I'm trying to flash my USBs for now with exFAT or NTFS...

NTFS is like Windows - the necessity when nothing else will work.

Wait what. exFAT can make you not to worry about eject/umount?

I mainly started using exFAT on flash drives (even on new ones) since it is interoperable between Windows, Linux, and Intel Mac. To be clear, I never don't unmount the drive properly under normal conditions, but I remember reading around the time it was introduced that the Windows implementation guaranteed the buffers were flushed after every write (meaning no unwritten data remains when the activity indicator on the drive stops blinking) but now I can't find any evidence that was ever the case. Wouldn't be the first time I got bad info from the Internet. 🤷‍♂️

My regular computer is ext4.

I assume my raspberry pi is ext4, but I've never checked what DietPi runs as default. It works fine.

My 720xd is ext4 on the OS drives, but the storage drives are ZFS with dual parity.

Ext4 is the only good FS so that's what I use.

Many different file systems are successfully used in production on a large scale that aren’t EXT4.

Are you sure this is the only good FS? I know it's solid and stable and used for many years as default Linux's FS but I disagree that's the only good one.