From Fedora Project Wiki

Silverblue and Kinoite will have /var on its own Btrfs subvolume

Summary

Silverblue and Kinoite: For new clean automatic (guided) installations, create a "var" subvolume to be mounted at /var.


Owner


Current status

Detailed Description

Currently, Silverblue and Kinoite mimic other Fedora desktops. There is a "root" subvolume mounted at / and a "home" subvolume mounted at /home.

This proposal adds a "var" subvolume to be mounted at /var.

The "var" subvolume will be located at the top-level of the Btrfs file system, along-side the "root" and "home" subvolumes. An entry in /etc/fstab will mount it at /var during startup.


Feedback

Benefit to Fedora

Users who opt into Btrfs features like snapshots and rollbacks.

  • By moving /var into its own subvolume, it can be independently snapshot and rolled back from the "root" subvolume, which contains /etc and /usr.
  • The ability to snapshot "var" and use Btrfs send/receive to replicate only "var" permits for an efficient way of backing up the variable system data, similar to snapshotting "home" and replicating it as a way of backing up user data.
    • A clean install will restore the "root", therefore it doesn't strictly need to be backed up. Meanwhile "var" and "home" can be restored using snapshot replication via send/receive, or a favorite backup utility.


Scope

  • Proposal owners:
    • change anaconda Silverblue and Kinoite profiles, such that automatic/guided installation creates a "var" subvolume mounted at /var.


Upgrade/compatibility impact

Change will not be applied to upgrades. But we can document steps to apply the change to existing installations.


How To Test

  • Do a clean installation and check df and /etc/fstab for an explicitly listed /var mount point.


User Experience

  • The change won't generally be noticeable to users
  • Users will see an additional /var mount point in /etc/fstab, and df
  • Some utilities, notably backup programs like borg backup, and rsync with -x option, will treat Btrfs subvolumes as separate file systems and may not descend (recursively) into them.


Dependencies

  • Anaconda


Contingency Plan

  • Contingency deadline: beta freeze (not a System Wide Change)
  • Blocks release? No


Documentation

No significant documentation is planned other than this change proposal.

N/A (not a System Wide Change)

Release Notes