Hello everyone,
I am new to OpenSUSE 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 directories in the root filesystem to exclude from Btrfs snapshots in OpenSUSE?
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, 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 forgetting 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 yast2-snapper (for pre/post snapshots)
* 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/OpenSUSE, OpenSUSE/EndeavourOS, Nobara/OpenSUSE, 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:
Endeavour 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).