I personally enjoy the Alpine Linux diskless pattern for live images, with the ability to commit state changes back to the image via the Local Backup Utility, or LBU [0]
3. Change the underlying tree (upgrade or rollback) without affecting user data and then replay the local changes.
It's great in the sense of 'I want a reliable and robust system', though it's awful in that if I want to install foobar-devel the system has to
1. Update the desired local changes to include my new changes
2. Re-validate the versioned, checksummed base OS image
3. Re-stage all local changes and layer them on top of the base OS image
Meaning that an eight-second 'dnf install ...' turns into a ten minute 'rpm-ostree install ...', though without much chance that I'm going to ruin my system accidentally by doing something stupid.
Anyway, I could see using this tool or similar to layer changes on top of a LiveCD image, so that even software updates can be made in a reproducible, or discard-able, way.
I personally enjoy the Alpine Linux diskless pattern for live images, with the ability to commit state changes back to the image via the Local Backup Utility, or LBU [0]
[0]https://wiki.alpinelinux.org/wiki/Alpine_local_backup
It's probably worth also mentioning ostree, and maybe specifically rpm-ostree: https://coreos.github.io/rpm-ostree/
1. Versioned, checksummed OS images
2. Local changes layered on top
3. Change the underlying tree (upgrade or rollback) without affecting user data and then replay the local changes.
It's great in the sense of 'I want a reliable and robust system', though it's awful in that if I want to install foobar-devel the system has to
1. Update the desired local changes to include my new changes
2. Re-validate the versioned, checksummed base OS image
3. Re-stage all local changes and layer them on top of the base OS image
Meaning that an eight-second 'dnf install ...' turns into a ten minute 'rpm-ostree install ...', though without much chance that I'm going to ruin my system accidentally by doing something stupid.
Anyway, I could see using this tool or similar to layer changes on top of a LiveCD image, so that even software updates can be made in a reproducible, or discard-able, way.