LinuxCommandLibrary

bootc

Manage and update operating system images

TLDR

Show deployments in the order they will appear in the bootloader

$ bootc status
copy

Check if any updates are available
$ bootc upgrade --check
copy

Prepare a new update and reboot into it
$ bootc upgrade --apply
copy

Change OS base to new container image
$ bootc switch [image]
copy

Reboot into the previous ostree deployment
$ bootc rollback
copy

SYNOPSIS

bootc [options]

PARAMETERS

help
    Show help message and exit.

install
    Install the bootc image on the target device.

update
    Update the bootc image.

status
    Show the current status of the bootc system.

rollback
    Rollback to a previous version of the bootc image.

rebase
    Rebase to a new base image.

--repo
    Specify the container registry URL.

--version
    Show version and exit.

DESCRIPTION

bootc is a tool designed to manage and deploy operating system images as container images on bare metal or virtualized environments. It leverages container image technologies like OCI (Open Container Initiative) to streamline OS updates and rollbacks, treating the entire operating system as a single, verifiable unit. This approach enables atomic updates and simplifies the management of complex system configurations.

Bootc works by creating a bootable disk image from a container image. When the system boots, it will run directly from the container image content (typically stored read-only via OSTree), with the option of layering in local modifications. This allows for reproducible and verifiable system deployments. Bootc aims to reduce the complexity of OS management, making it easier to handle upgrades and ensure consistency across multiple machines. It simplifies the process of creating and managing immutable or mostly immutable systems, which is crucial for reliability and security.

CAVEATS

Bootc typically relies on OSTree and other technologies to manage the underlying filesystem. It's generally geared towards systems that are configured to be mostly immutable, with changes applied as layers on top of a read-only base image.

BOOTC AND IMMUTABLE INFRASTRUCTURE

Bootc is heavily aligned with the concept of immutable infrastructure. By treating the OS as a single container image, updates become atomic operations. If an update fails, a rollback can be easily performed, returning the system to a known good state. This reduces the risk of partial failures and improves system resilience.

USE CASES

Bootc is suited for various use cases:
- Edge computing: Deploying and managing OS images on edge devices.
- Container-optimized OS: Creating a streamlined OS for running container workloads.
- Production servers: Ensuring consistent and reliable deployments of server infrastructure.
- Testing environments: Rapidly provisioning and resetting test environments.

HISTORY

Bootc is a relatively new tool in the Linux ecosystem, primarily driven by the need for simpler, more reliable OS management in cloud and edge environments. Its development is focused on leveraging container technologies for the entire operating system lifecycle. The project builds upon prior art from projects like CoreOS, Fedora CoreOS, and similar initiatives aiming for immutable infrastructure. Bootc's focus on container images allows for integration with existing container registries and tooling.

SEE ALSO

ostree(1), skopeo(1), podman(1), docker(1)

Copied to clipboard