Which file system do you recommend for Linux?

foremanguy@lemmy.ml to Linux@lemmy.ml – 122 points –

Just a simple question : Which file system do you recommend for Linux? Ext4...?

EDIT : Thanks to everyone who commented, I think I will try btrfs on my root partition and keep ext4 for my home directory 😃

152

You are viewing a single comment

If you’re just doing a vanilla Linux install, ext4 is the way to go.

Upvoted. Not everyone wants to rely on backups and restore broken system every month like on BTRFS

We're not in 2014 anymore.

File system is a core component of any electronic system. Even if it's just 1% less stable than other ones, it's still less stable. Maybe it's faster in some cases and supports better backups but ehh idk if it's worth it. Losing documents is something you probably want to avoid at all costs

Yeah, but it isn't noticeably "less stable" if at all anymore* unless you mean stable as in "essentially in maintenance mode", and clearly good enough for SLES to make it the default. Stop spreading outdated FUD and make backups regularly if you care about your documents (ext4 won't save you from disk failure either which is probably the more likely scenario).

* not talking about the RAID 5/6 modes, but those are explicitly marked unstable

My short BTRFS history

  1. Installed on a 1TB NVME
  2. used for 2 years
  3. Rebased my system a ton, used rpm-ostree a ton (which uses BTRFS for the snapshots I think?)
  4. Physically broke the SSD by bending (lol used a silicon cooler pad but it bent it) which resulted in hardware crashes
  5. With dd barely managed to get all the data onto a 1TB SATA SSD
  6. dd-ed the SATA SSD onto a 2TB NVME
  7. deleted and restored the MBR, resized the BTRFS partition to max, resized the BTRFS filesystem to max, balanced it

Still works, never had a single failure

Well gtk if it's really as stable as ext4. I will still stick to ext4 though because why change what already works well and tested on almost any machine you can possibly imagine?

I suppose by being more efficient, "using modern technology" (everything saving Google, Meta, Amazon etc. money and is thus extremely well funded, all server related stuff), is good for the environment.

If something runs faster on the same hardware, it may use less energy. It may also just be restricted in hardware usage, like not using multithreading.

Linux Distros shipping x86_64-v2 packages is a whole other problem...

I have an x86_64-v2 CPU so I highly disagree with your statements.

Like, all of them... or would you be a bit more specific?

Old CPUs are an okay use case, but targeting will literally remove all benefits in efficiency that were made in the last 14 or so years.

My Thinkpad T430 has v3, and it is a 3rd gen intel. People honestly running hardware older than that are rare.

For sure the hardware should be supported, but it is not the target audience and pulls the others down.

So what solution do you recommend? Only making v3 packages and leaving older hardware support for AUR geeks?

No, and this is for sure an issue. Having different repos would increase fragmentation a lot.

I disagree. My partition is ext4, but Timeshift saved my ass when an upgrade went wrong. I just had to restore the system from a previous snapshot taken before the upgrade.

Of course updates can break stuff. What I don't understand is why would you intentionally go for a less stable FS that can break and corrupt all files? It's especially bad on old machines with limited space where full backups are not possible

Are you talking about ext4 or BTRFS?

Updates can break stuff on any file system but BTRFS is known for worse stability, at least in the past

I'm running it for over 3 years as complete linux moron with no issues whatsoever. It was default in openSUSE and its automatic snapshot feature saved my ass multiple times. I've heard everyone saying ext4 is super stable and I should use it, but I went with default and can't complain.

I never tested BTRFS on SSDs under 128GB or even HDDs, but never had a corrupted one.

Those anecdotes are worth little so it would be best to have current data.

One of the above points was that the claims are outdated, which would be really interesting to verify.

Like, making a study with many different parameters

  • hdd, sata ssd, nvme ssd, emmc, etc.
  • size: 50-200MB, 1GB, 16GB, 128GB, 500GB, 4TB (from small embedded, to IOT, to usb flash drive, to smartphone, to laptop, to Server/Backup)
  • amount of usage: percentage filled, read/write per minute
  • BTRFS actions: snapshots, balance, defragment

If full backups aren't possible that's an administrator failure.

Reliance on a file system to never fail rather than have proper backups, is an administrator failure.

ANY system can, and will, fail. Thinking and behaving otherwise is an administrator failure.

"Everything gets gone, sooner or later" - being prepared for it is good administrator behaviour.

Yes but why intentionally choose a worse option? Sorry but it's not very smart imo.

And not having enough space is not an administrator failure. It's usually budget issue. And are you saying that making apps bloated (like severely bloated) is ok and the user should always be blamed for having lower hardware?

1 more...
1 more...

And LVM is more than good enough for occasional snapshots before a major upgrade.

What's lvm like compared to btrfs?

Well lvm makes a shit filesystem and btrfs is useless at volume management.

LVM creates "block devices" and is FS agnostic. You can install btrfs on an LVM volume if you wanted. Or any other FS for that matter.

But since it doesn't know anything about the FS it can be a bit more cumbersome to modify volumes (especially when shrinking).

Good that you mentioned that. Reminded me that I have an Arch Linux install here where I forgot that I did choose BTRFS during installation. Within maybe a month I noticed FS errors. Looked scary. Nervously searching for documentation was even more scary :

https://wiki.archlinux.org/title/btrfs#btrfs_check -> This article or section is out of date. (Discuss in Talk:Btrfs) Warning: Since Btrfs is under heavy development, especially the btrfs check command, it is highly recommended to create a backup and consult btrfs-check(8) before executing btrfs check with the --repair switch.

What is this? My beloved Arch Wiki is not 100% perfect!

Then found this :

WARNING: Using '--repair' can further damage a filesystem instead of helping if it can't fix your particular issue.

Warning

Do not use --repair unless you are advised to do so by a developer or an experienced user, and then only after having accepted that no fsck successfully repair all types of filesystem corruption. E.g. some other software or hardware bugs can fatally damage a volume.

I figure this explains the popularity of BTRFS snapshot configurations. Luckily I had some backups :)

Filesystem snapshots won't help, if the filesystem itself corrupts. But I've been using BTRFS for 6 years now and haven't had a file system corruption, so mileage may obviously vary.

1 more...
1 more...