I made some changes using rpm-ostree related to zram and swap
Could you be more transparent and/or elaborate in this regard? Like, what did you actually do?
FWIW, I've been on Fedora Atomic since before Bazzite's existence, but I've never once considered using rpm-ostree to make changes to zram and swap. So, I'm a bit confused. To be clear, it's perfectly possible that what you did is 100% legit, but that it just happened to expose a gap in my knowledge.
I had assumed that, because I used rpm-ostree, the changes would become part of the “tree” and I could rollback to the original settings. But when I went to look at Bazzite’s rollback tools, it seemed solely focused on rolling back to previous official releases, and I couldn’t find any reference to the specific changes I made.
Basically, while rpm-ostree does offer git-like control on your base system; hence, why it's so powerful to begin with. It does not keep more than two deployments around; at least, by default.
If you would like to keep around a specific deployment (for whatever reason), you can do so with the ostree admin pin <insert number> command. The git-like control also enables you to keep track of:
- the changes applied to
/etc; invokeostree admin config-diffto see what files have been added or modified since installation - layered packages; simply invoke
rpm-ostree status
Keeping track is cool and all, but its usefulness is in full display with powerful applications such as:
rpm-ostree reset; this basically removes all permutations. That is, two people on the same image, will have the identical base system after this. (Note that this still isn't as powerful as a factory reset. For that, refer to this issue tracker onbootc^[On that note,bootc's model is arguably better suited if you're just interested in finding back references to changes you made in the past. Granted,bootcoffers a hefty amount of freedom in how you'd approach this and might be overwhelming for now. FWIW, both Bazzite and this are products of this.].)
Finally, the git-like structure ensures actual reversibility. On most other systems, installing A -> installing B -> uninstalling A will yield a different state than just installing B. With rpm-ostree, the base system between the two will be identical.
For completeness' sake, I've used "base system" above to just mean the contents of /usr and /etc (and maybe some other subdirectories of /). Crucially, the contents of /var are not part of the "base system".