Transactional Updates with btrfs
While small updates normally don't disturb the services running on your system, bigger or intrusive updates can break your running services or Desktop. There are different ways of doing transactional updates like new package formats or different partitions. This talk will show how to use the features of btrfs for this with traditional package managers.
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. 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.