so a bit of history - I used to use Antergos (I’m sure some here will remember) then switched to EOS. During this time there were a few occasions when I had to reinstall the OS (due to things breaking I couldn’t fix etc) and I felt that having a separate home partition would’ve helped.
Then I found out about Btrfs and subvolumes and how its usual install has different subvolumes.
But I’m still not 100% sure on whether this is supported and how to take advantage of it. e,g when you do a fresh install do you select ‘manual partitioning’ and then choose the existing /home or @home subvol and somehow mark it as ‘leave alone’?
How does this work in new EOS which uses systemd-boot? All the howtos I’ve read say that once you change partition info in etc/fstab you remake the grub config.
Btrfs promises dynamic resizing of subvolumes, correct? I don’t see this mentioned much vs the CoW snapshots which seems to be the highlight.
Also the checksumming/self repair features, how useful in practice are they? i.e. do they really present some real advantages over running fsck on ext4, for that matter I’ve never needed to run fsck, but on Btrfs you need to setup scrub/balance?
I did try the Btrfs implemented on GarudaLinux which you may be involved in? The pacman hooks/grub integration works well, basically its a zero config install.
It seems to setup the same layout as done on OpenSuse/Fedora and EOS which seems to be the standard in Linux now and also has it integrated into grub. Now that EOS uses systemd-boot, I dont think this is possible here?
I was also thinking that if I had a Btrfs server (for backup) then it’d have more advantages? And on Arch I really like the idea of snapshots and being able to recover in case things break.
Am I also correct that there will be no perf differences noticeable? Which one if any has less impact on ssd? I’m using an old Thinkpad that came with a used ssd.
The subvolumes exist in the same partition so they basically share space.
Yes and no. Garuda is highly opinionated so over there everything is setup for you the way Garuda thinks it should be.
However, you still need to schedule and configure the maintenance tasks such as running regular balance and scrub operations.
There is no standard. EOS and Garuda use different layouts.
Many distros appear to use the same layout because they are taking the defaults from Calamares.
EOS lets you choose between systemd-boot and grub in the installer. If you want to boot off of snapshots, simply choose grub. The installer also mentions this on the screen where you choose a bootloader.
Yes, you could take snapshots locally and then replicate them to the server as part of a backup strategy.
Most people won’t notice the performance difference for an average desktop use case.
I’m not recommending this but wanted to show what my partition table looks like. It’s my personal preference and having a separate /home has saved me behind a couple of times. but again take in the advice, search a lot, and decide for yourself what to do.
I always use a separate home Partition. My personal experience is, that / should not be under 40GB, currently I have 60GB which is solid for me (I have a 1TB nvme disk for Linux and a 4TB data SSD for other stuff - the 1TB nvme is partitioned as follows: 500MB /boot/efi ; 60GB /; 8GB swap; remaining space: /home).
But the size of / heavily varies with what you want to install and how you install it, and how clean you keep your /var (especially pacman cache) .
If you are going to install a lot of stuff from the repo’s and AUR, / should be bigger.
Your /home should not be too slim either, especially if you want to install many games through Steam or Lutris and have no other fast enough drive in your system or have many videos and music and stuff you want to save in there.
in my experience, whenever possible it is wiser to have separate DISKS (not just partitions) for OS and data.
When this is not possible due to hardware design limitations, the least perilous path is to isolate /home and then backup ‘system’ consistently.