What's with all these hip filesystems and how are they different?

rutrum@lm.paradisus.day to Linux@lemmy.ml – 226 points –

You know, ZFS, ButterFS (btrfs...its actually "better" right?), and I'm sure more.

I think I have ext4 on my home computer I installed ubuntu on 5 years ago. How does the choice of file system play a role? Is that old hat now? Surely something like ext4 has its place.

I see a lot of talk around filesystems but Ive never found a great resource that distiguishes them at a level that assumes I dont know much. Can anyone give some insight on how file systems work and why these new filesystems, that appear to be highlights and selling points in most distros, are better than older ones?

Edit: and since we are talking about filesystems, it might be nice to describe or mention how concepts like RAID or LUKS are related.

108

You are viewing a single comment

related question, although i don't think it's big enough for a post of its own.

if i use btrfs subvolumes, does it mean that i can have one EFI partition and one root partition, and then subdivide the root partition using subvolumes? how would that work during the installation process? or is it done after installation?

One EFI + one ROOT partition is what I do on both my laptop and desktop for years, /home is a subvolume to my root partition. This setup suits my needs as I don't have to worry about how big should my root or home (gaming) partition should be.

I use Arch on my desktop and Opensuse on my laptop. They both have options to set up subvolumes from their installer, Debian does not, and I'm not sure about other distros, but you can always set that up after installation, just make your home partition the last one (after the root partition) so you can easily delete it after and grow the root partition without much blocks relocation.

I've never heard of sub volumes. What do they do for me? Why not just partition the disk or store everything on the one partition?

I like to think a subvolume is a directory on my filesystem that:

  • Acts as an independent filesystem.
  • Shares it's parent size (unless quotas are set in place)
  • Can be mounted/unmounted any time
  • Excluded from their parent partition's snapshots. (a /home subvolume is exluded from / snapshots).
  • Can be snapshot-ed independently.

This is by no mead a definition for BTRFS subvolume, but I hope you get the idea.

if i use btrfs subvolumes, does it mean that i can have one EFI partition and one root partition, and then subdivide the root partition using subvolumes?

Yes.

how would that work during the installation process? or is it done after installation?

That depends on your distro. What do you plan to achieve with the separate subvolumes?

I already have a partition layout in btrfs where I have a /home and a /root partition, since when I installed I didn't know about btrfs subvolumes. I use Void Linux and I think it's after installation, since I don't remeber having a subvolumes step during the installation.

I'll make sure to remind about btrfs subvolumes in case I reinstall. There's a btrfs program that has a subvolume argument, so I'm guessing that's what I could use.

usage: btrfs [global]  [...]  []

...
Command groups:
  subvolume         manage subvolumes: create, delete, list, etc

Pretty much, yeah. At some point I remember the recommendation being having a separate /boot as well due to incompatibilities with GRUB's save default option iirc, not sure that's a thing anymore.

Anyway, you usually set that up during the install process, although I'm not sure graphical installers let you handcraft btrfs subvolume mount points or even select them as such these days. Last I checked at least they either just used a default layout (@ and @home with Ubuntu, for instance) or treated it as a single volume with no further options.

Exactly. But if you tend to be on the hoarder side, put a swap partition in there too. Even 32GB ram isn't enough sometimes