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
    • @[email protected]
      link
      fedilink
      11 year ago

      It is fast. It’s the recommended filesystem for MinIO and default for RHEL 7 and above. XFS and ext4 are often recommended for databases if no other filesystem-level features (like snapshots) are needed. XFS has slightly more features than ext4 like CoW and reflink support.

  • data1701d (He/Him)
    link
    fedilink
    English
    71 year ago

    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.

    • PsyhackologicalOP
      link
      fedilink
      11 year ago

      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.

      • data1701d (He/Him)
        link
        fedilink
        English
        21 year ago

        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.

        • PsyhackologicalOP
          link
          fedilink
          11 year ago

          Yeah it is like a solution but the most “native” and straight forward was formating to NTFS.

        • data1701d (He/Him)
          link
          fedilink
          English
          21 year ago

          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.

          • PsyhackologicalOP
            link
            fedilink
            11 year ago

            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.

            • data1701d (He/Him)
              link
              fedilink
              English
              21 year ago

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

              • PsyhackologicalOP
                link
                fedilink
                11 year ago

                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.

                • data1701d (He/Him)
                  link
                  fedilink
                  English
                  21 year ago

                  Honestly, just strike out Mac. I one time opened the Windows Command Prompt in front of someone and they were like “DOS?” 😂

    • PsyhackologicalOP
      link
      fedilink
      11 year ago

      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.

  • Shimitar
    link
    fedilink
    71 year ago

    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.

      • @[email protected]
        link
        fedilink
        English
        41 year ago

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

        • @[email protected]
          link
          fedilink
          21 year ago

          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.

      • @[email protected]
        link
        fedilink
        51 year ago

        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

  • @[email protected]
    link
    fedilink
    48
    edit-2
    1 year ago

    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.

  • @[email protected]
    link
    fedilink
    11
    edit-2
    1 year ago

    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)
  • olenko
    link
    fedilink
    21 year ago

    ext4 on everything except external drives where I put NTFS.

    • PsyhackologicalOP
      link
      fedilink
      11 year ago

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

      1. Microsoft Office
      2. Gaming
      3. Adobe
      • olenko
        link
        fedilink
        21 year ago

        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.

  • @[email protected]
    link
    fedilink
    211 year ago

    Google cloud storage, copilot my files with Microsoft, crowdstrike running in background for better security.

      • @[email protected]
        link
        fedilink
        English
        31 year ago

        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.

        • @[email protected]
          link
          fedilink
          31 year ago

          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.