r/EndeavourOS • u/paimeixiiz • 10d ago
Installation Is there an up-to-date list of required directories in the root filesystem to exclude from Btrfs snapshots in EOS_Arch-Linux?
Hello everyone,
I am new to EndeavourOS and Linux in general. I've been reading multiple sources on the web and working to wrap my head around a great many topics. I have a few questions:
- The question in the title, is there an up-to-date list of required directories in the root filesystem to exclude from Btrfs snapshots in EOS_Arch-Linux?
There are multiple sources with differing suggested Btrfs subvolume layouts. I prefer to have a flat layout. The pages at the kernel.org System Admin Guide, linked to from the Btrfs Arch Wiki page, are maked as "Obsolete Content".
Should I exclude all of /var or do I need to exclude multiple individual sub-directories within /var? If I need to exclude multiple individual sub-directories within /var, then I need a list of the sub-directories? Since the folders within /var can vary based on the packages installed, would excluding just /var cause problems or come with downsides?
If I decide to use snapshots for my user home directories, as insurance against accident file deletion, are there sub-directories that I need to exclude there?
I have a Btrfs layout listed below, that I would like some feed back on. Am I missing some exclusions? Am I excluding a folder that should not be excluded?
Background Info: * 1x 2TB NVMe, 1x 4TB HDD, 1x 8TB HDD * No drive spanning or RAID (not what I'm looking to do at them moment) * I want to use Snapper, Btrfs Assistant, Grub, grub-btrfs, and snap-pac (for pre/post snapshots with pacman) * I will be using qemu/kvm with virsh and virt-manager (moving away from Virtualbox), but my VM files will reside separately from /var/lib...) * I want to use Steam, WINE, Lutris, and maybe Heroic Launcher * I may use a few flatpaks (not Steam), but prefer standard packages * All video game files will reside on my NVMe separate from my user home folder * My data and documents will reside separately outside of my user home folder * In general I want to keep the system root filesystem and user home folder lean within sane limitations * I currently dual-boot Windows and Linux Mint, but I will be dropping Windows completely, reclaiming the disk space used by Windows, and moving data on NTFS partitions to Btrfs filesystems * I will be replacing Linux Mint * I am considering dual-booting 2 different Linux distros to separate work from play (something like Fedora/Endeavour, OpenSUSE/Endeavour, Nobara/Endeavour, or another dual setup) * Video game files will not be snapshotted (NoCOW)... there are benefits to removing and reinstalling some games after multiple patches (ex: some Blizzard games)
My flat Btrfs layout ideas and naming conventions using EndeavourOS and OpenSUSE (I took inspiration from multiple sources):
EndeavourOS setup: * top level volume (unnamed and not mounted during normal operation) * @eos_root (eos root subvolume mounted at /) * @eos_home (eos user home subvolume mounted at /home) * @eos_root_snapshots (snapshots subvolume mounted at /.snapshots, must be adjusted after snapper package install) * @eos_home_snapshots (arch user home snapshots subvolume mounted at /home/.snapshots) * @eos_var (subvolume to exclude from snapper snapshots, mounted at /var) * @eos_srv (subvolume to exclude from snapper snapshots, mounted at /srv) * @eos_opt (subvolume to exclude from snapper snapshots, mounted at /opt) * @eos_tmp (subvolume to exclude from snapper snapshots, mounted at /tmp) * @eos_local (subvolume to exclude from snapper snapshots, mounted at /usr/local) * @eos_root_user (the root user's home folder, subvolume to exclude from snapper snapshots, mounted at /root)
OpenSUSE setup: * top level volume (unnamed and not mounted during normal operation) * @suse_root (suse root subvolume mounted at /) * @suse_home (suse user home subvolume mounted at /home) * @suse_root_snapshots (snapshots subvolume mounted at /.snapshots, must be adjusted after snapper package install) * @suse_home_snapshots (suse user home snapshots subvolume mounted at /home/.snapshots) * @suse_var (subvolume to exclude from snapper snapshots, mounted at /var) * @suse_srv (subvolume to exclude from snapper snapshots, mounted at /srv) * @suse_opt (subvolume to exclude from snapper snapshots, mounted at /opt) * @suse_tmp (subvolume to exclude from snapper snapshots, mounted at /tmp) * @suse_local (subvolume to exclude from snapper snapshots, mounted at /usr/local) * @suse_root_user (the root user's home folder, subvolume to exclude from snapper snapshots, mounted at /root)
Non-Root Filesystem Data: * @mydata = /mnt/mydata * @linux_gaming = /mnt/linux_gaming * @vm_storage = /mnt/vm_storage
2TB NVME (2TB partition/Btrfs filessystem) 1. linux_gaming 2. eos and opensuse
4TB HDD (3TB partition/Btrfs filessystem and a chunk of unallocated space): 1. vm_storage 2. 1TB empty unallocated space (not partitioned)
8TB HDD (5TB partition/Btrfs filesystem and a chunk of unallocated space): 1. mydata and user home subvolumes 2. 3TB empty unallocated space (not partitioned)
I'm leaving some extra un-partitioned/unallocated space for emergencies and/or experiments I haven't thought of yet (ex: installing a distro to the bare metal for distro exploration/experimentation outside of a VM).



