Understanding bootc and rpm-ostree

bootc

The main focus of Fedora/CentOS bootc is on bootc. However, the "full" base image currently includes rpm-ostree which shares a lot of the same underlying code from the ostree project.

Using rpm-ostree

It is supported to install and use rpm-ostree on a Fedora/CentOS bootc system.

Using in container builds

At the current time, operations such as RUN rpm-ostree install foo when executed as part of a container build are not substantially different from what happens with RUN dnf install foo - the two codebases ultimately share a lot via libdnf.

Client side operations

rpm-ostree upgrade/rollback

The rpm-ostree upgrade, rebase, deploy verbs etc. will all gracefully interact with a bootc system - at the current time they operate on shared state.

You can interchange rpm-ostree upgrade with bootc upgrade, etc; they currently perform the same operations in general.

rpm-ostree install/override replace

However, any local state mutations such as package layering, removals, or enabling e.g. rpm-ostree initramfs --enable will cause bootc upgrade to error out.