Applying small updates is normally no problem in a running system. But what about if there is a new major release of your favorite Desktop? Or a major version update of your used Linux distribution? Today’s concepts are most of the time to apply the patches in the running system and risk that a running service or Desktop breaks, or apply them all by booting an installation media and wait for quite some time until you can access your machine again. Or your boot process is stopped for a long time during which the updates are applied. Or some patches fails to apply and your system is in an inconsistent state.
A solution for this are transactional updates.
Transactional updates are atomic, means either they applied successful, or if an error occurred, you have the same state as before. And if an update does not work, there is an easy way to go back to the last working state.
There are different solutions for this, some require new package formats, other require a second partition and you can switch during the next reboot to the other partition.
I want to present a third solution: using a standard package manager and leverage btrfs for this.
With snapshots and rollback on btrfs, there is already everything available what you need. This talk will give a short introduction into snapshots and rollback with btrfs and show how to combine and use this technologies to your advantage.