bootc
Manage and update operating system images
TLDR
Show deployments in the order they will appear in the bootloader
Check if any updates are available
Prepare a new update and reboot into it
Change OS base to new container image
Reboot into the previous ostree deployment
Apply transactional changes to the system configuration
SYNOPSIS
bootc [OPTIONS] <COMMAND> [<ARGS>...]
PARAMETERS
--help, -h
Print help information
--version, -V
Print version information
--json, -J
Enable structured JSON output
DESCRIPTION
bootc manages Linux systems using OCI container images for the root filesystem, enabling atomic updates, rollbacks, and immutable deployments. The host runs as a container, pulled from registries like quay.io or GitHub Container Registry. It maintains multiple boot environments: currently booted, staged (pending), and history. Updates are staged first for verification before deployment.
Key features include integration with systemd-boot or EFI stubs for A/B booting, automatic verification via image digests, and compatibility with tools like podman. Designed for distros seeking Silverblue-like experiences without layering, bootc supports declarative OS definitions via image tags/refs. It requires a bootc-enabled kernel (6.11+) and configured bootloader. Usage simplifies fleet management, upgrades, and experimentation with zero-downtime staging.
Typical workflow: bootc status checks deployments, bootc fetch <ref> stages updates, bootc deploy activates.
CAVEATS
Requires bootc-patched kernel (v6.11+), systemd-boot or compatible EFI setup, and /var configured for container storage. Not suitable for non-bootc systems; may conflict with traditional package managers.
COMMON SUBCOMMANDS
status: Show boot/staged/pending deployments
update: Fetch, stage, and deploy latest pinned image
fetch <ref>: Stage new image by reference
deploy: Activate staged deployment
rollback: Revert to previous deployment
pin <ref>: Pin default update target
IMAGE REFERENCES
Use tags like quay.io/ublue-os/sericea:stable or digests. Supports local images via image:oci:/path.
HISTORY
Developed by Collabora starting 2023 for container-native OSes. Integrated experimentally in Fedora 41 (2024), inspired by rpm-ostree but OCI-focused. Rapid evolution with v1.0+ stabilizing core daemon and CLI.
SEE ALSO
podman(1), rpm-ostree(1), ostree(1), systemd-boot(7)


