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
    10
    edit-2
    1 month 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)
    • @loutr
      link
      71 month ago

      Yes the Steam deck FS is ext4.

      Why ext2 on Void?

      • @[email protected]
        link
        fedilink
        4
        edit-2
        1 month ago

        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.