Components

libtukit.so
tukit
D-Bus Bindings
transactional-update

transactional-update is split into two parts: the (open)SUSE specific transactional-update shell script, and the generic tukit (including libtukit, the tukit command line application and the D-Bus bindings).

libtukit.so

libtukit is a C++ library implementing the core functionality of transactional-update. It is responsible for snapshot management (including /etc handling, see the section called “/etc”), preparing the environment and executing the command to run within the update environment.

The library is designed to be a general purpose library for handling transactional systems. It provides methods to create, modify and close transactions as well as execute commands within a transaction. Currently snapper is the only implemented snapshot management option.

Applications such as package managers are expected to use this library for easily supporting transactional systems. DNF for example is supporting transactional systems via the libdnf-plugin-txnupd plugin.

The library also provides C bindings with the same functionality as the C++ library.