The Transactional Update Guide

Thorsten Kukuk

Ignaz Forster

Version 0.4, 28. September 2021

Abstract

This is the documentation for transactional-update and is intended for users, administrators and packagers.

It describes how transactional-update with Btrfs works by giving an overview of the design, what an administrator needs to know about setting up and operating such a system and what a packager needs to know for creating compatible packages.

For specific usage see the transactional-update man page or the list of Kubic related commands.


Table of Contents

1. Introduction
1.1. Description
1.2. Definition
1.3. Use Cases
2. Components
2.1. libtukit.so
2.2. tukit
2.3. D-Bus Bindings
2.4. transactional-update
3. High Level Concept
3.1. The root file system
3.2. Updating the correct snapshot
3.3. Workflow
3.4. Simplified workflow
4. System setup
4.1. Read-only file system
4.2. /var
4.3. /etc
5. Files
6. Porting to other systems
7. Author/acknowledgments
8. Copyright information for this document

List of Examples

4.1. /etc layers