Ext4, btrfs, or other, what difference and which is the best file system?

Hello all friends.

I would like to know which is the best file system (I think it is called that).

EOS comes with ext4 by default, but I’ve read on some occasions that btrfs is better because it’s newer and brings new technology or something like that.

But I’ve also heard that there are people who get slow write-read problems from btrfs or something like that.

So, I would like to know if there is one better than another or one that stands out above.

I’m new to the Linux world and don’t know much about it, usually I’ve seen ext4 on Ubuntu and btrfs on Fedora.

Thanks in advance.

3 Likes

Not really. If there was a best filesystem, everyone would use it.

If you aren’t sure, use ext4. It is simple and well supported by everything.

btrfs has many advanced features, but if you aren’t going to use them, you are adding complexity for no real purpose.

10 Likes

Just what I wanted to know, so I’ll stick with ext4!

Thanks again Mr. Dalto!

4 Likes

As so often, it also depends on what you want to do with your system. If you want to take regular snapshots of your system partition for later recovery, Btrfs would be a good option (using Snapper). However, this also works with ext4 and Timeshift (via rsnc). For a novice, however, Btrfs is in my opinion a bit too complex. I only get along with it because I have already asked @dalto so many holes in the belly.

2 Likes

ext4 is the Toyota Camry. It just works forever with minimal oversight.

I would suggest it until you find some reason you want to use something else.

5 Likes

As always, what is best for you depends on what you need or want.

I’m also in the ext4 camp. I use it almost exclusively. While it is far from being the best file system for every possible use case, I think it is good for most use cases and the best many use cases. It is a very solid default option.

So if you don’t know what you need, my advice would be: stick to ext4. If you feel like you’re missing out, check out Btrfs, which is a great file system, but don’t just use it because it’s fashionable, without understanding its strengths and weaknesses and actually profiting from its advanced features.

Personally, I wouldn’t consider anything other than ext4 unless I specifically needed some fancy feature that ext4 does not have. ext4 does not have fancy features like copy-on-write, data deduplication, self-healing, etc… but it has three characteristics that I really like: it is reliable, simple, and fast.


Also, I really dislike the mentality of people who use the latest fancy thing just because it is fashionable, without really understanding it. People who get a sense of superiority from it, you know, like your average Reddit user. I would guess, about 80% of Btrfs users don’t have a clue why they are using Btrfs, and would better be served by ext4. Of course, they break their systems because they do not understand how it works, and they keep @dalto busy. :rofl:

They are a bit like those SUV-driving suburbanites who brag about their overpriced, fancy SUV being able to drive up a 45 degree slope, yet they only ever use it to drive two blocks down to a convenience store. The user nobody likes those people.


And I would guess more than 95% of Btrfs users do not know what a B-tree is.

7 Likes

I always imagine this - https://en.wikipedia.org/wiki/Bee_tree

1 Like

I openly admit that I am also one of them, however, I tried Btrfs at some point because I was interested in the Snapper feature. I have learned quite a bit about it so far, but without @dalto I would be stuck again. I admit as well that I’m far from understanding Btrfs, but don’t necessarily want to go back to ext4 and Timeshift (with rsync) now. But: Never say never!

1 Like

Coming from Manjaro, I used to use Timeshift some two or three years ago and I was recommending it to everyone. Even though I never needed to restore a snapshot, it gave me peace of mind. But about a year or two ago, I came to a realisation that Timeshit is utterly useless. So I changed my mind, uninstalled it and deleted all the snapshots from my drive.

I’m quite fine without it. If there is ever a problem, I fix it myself – 9 out of 10 times that’s just as fast as restoring a snapshot. And in those 10% of cases where it takes a bit longer, restoring a snapshot would just rob me of an opportunity to learn about my system.

Nothing of value is contained in these Timeshift snapshots, none of my personal data (and this is by design, Timeshift is not a backup tool). Nothing there is irreplaceable (all of the software exists in the repos, and old versions are cached and archived), or even worth preserving. It just wastes space. In the worst possible case, if something is so broken I can’t fix it, I can always reinstall the OS, and that would cost me some 20 minutes of my life. I don’t think it will ever come to that, but if it does, no big deal.

So now, I don’t use Timeshift. And I’m still on ext4. No snapshots at all. I do backup all important data, of course. In multiple, external copies. But that is personal user data, not OS stuff.

4 Likes

es, you’ve already said that several times, but my friend, I’m not so good that I could just fix something quickly. With the learning it is at my age also not so well ordered. Everything is a bit smaller …

And it’s nice not to have to be afraid that something will be damaged before every update.

I used to be at Manjaro, but I don’t want to go back there even under the threat of a beating!

1 Like

You shouldn’t underestimate yourself. Seriously, when was the last time something broke? Nothing ever breaks on Arch that cannot be fixed in 5 minutes, especially not from an update. Usually, any breakage is user error, and it’s a valuable learning experience.

The worst thing in last 3-4 years was the Legendary Grubbenning of August '22. And that was an easy fix – the exact procedure how to fix it was available within an hour or so. And many people learnt how to chroot that day, so that turned out pretty good in the end! :slight_smile:

5 Likes

I know this has been marked as resolved, but I just want to share an article I read some time ago which gives an overview on this very topic.

1 Like

I prefer btrfs for my desktop because being able to make snapshots, also because I can just make one big btrfs filesystem which has sub-volumes so that I don’t have to think about how I want to divide the space, since all the sub-volumes have access to all of the space on the btrfs partition.

2 Likes

A good reason

1 Like

I just create one ext4 partition per physical drive (with the exception of the EFI partition, of course). I also never think about how to divide the space. :grin:

3 Likes

If you use something like timeshift to create snapshots of your system that would also include your homedir in the rsync snapshot timeshift makes. I don’t know if you use Timeshift or not but if you do that may work for you but it’s not really useful to make a snapshot of your home. Since if you revert a snapshot your personal files will be reverted then too but maybe that isn’t a problem for you?

1 Like

What? If I used Timeshift, I would certainly not use it to make snapshots of my home directory. That would be really stupid, as restoring a snapshot could lead to data loss. What does that have to do with partitions?

On ext4 Timeshift makes snapshots using rsync, and it ignores the user’s home directory by default. You seem to be suggesting that you need to have the home directory on a separate partition for that to work. That’s not the case. I always keep my home directory on the same partition where the root is, and that’s always the fastest SSD I have. I don’t keep my documents, pictures and videos there, of course, I keep that on slower drives, but I symlink everything to subdirectories in my home directory so I never need to keep track what is on which physical drive.

5 Likes

If I remember correctly if you don’t use btrfs with Timeshift that you won’t have an option to exclude your home directory if you just have one big partition for root and not a separate one for home but I can’t remember since I haven’t used xfs or ext4 in over two years on my desktop.

Just testing it out in a vm now, to be sure. Will reply after again after having test it out.

1 Like

You remember incorrectly. I used to use Timeshift on ext4, and I didn’t have my home directory on a separate partition (I never do that, except once when I realised it was a rather stupid thing to do) and I never included my home directory in the snapshots, which is not only supported by Timeshift, but default behaviour.

Why would there be such a limitation? There is no practical reason for it, on ext4 Timeshift is nothing more than a frontend for rsync. On Btrfs, it’s even less.

3 Likes

I see now that there still is an option to exclude home when using a filesystem other than btrfs. How easy it is to forget something if you haven’t used it in a long time.

I know that, I forgot that Timeshift has different settings when it comes to excluding when using btrfs vs when using another filesystem where Timeshift uses rsync. I can’t remember everything, when not having used something a while it fades from memory. :laughing:

I still prefer using btrfs for the snapshots feature on my desktop system and because it being a newer filesystem, I know newer is not always better but I guess it’s a matter of preference but I still use xfs or ext4 on my vpses.

2 Likes