rpm-ostree is a hybrid image/package system. It combines libostree as a base image format, and accepts RPM on both the client and server side, sharing code with the dnf project; specifically libdnf. and thus bringing many of the benefits of both together.
π as of release 2022.16 rpm-ostree now also supports ostree native containers.
βββββββββββββββββββββββββββββββββββββββββββ
β β
β rpm-ostree (daemon + CLI) β
ββββββββ€ βββββββββββ
β β status, upgrade, rollback, β β
β β pkg layering, initramfs --enable β β
β β β β
β βββββββββββββββββββββββββββββββββββββββββββ β
β β
β β
β β
βββββββββββββββββββ΄ββββββββββββββββββββββββββ βββββββββββββββββββββββββ΄ββββββββββββββββββ
β β β β
β ostree (image system) β β libdnf (pkg system) β
β β β β
β fetch ostree repos and container images, β β ties together libsolv (SAT solver) β
β atomic filesystem trees, rollbacks β β with librepo (RPM repo downloads) β
β β β β
βββββββββββββββββββββββββββββββββββββββββββββ βββββββββββββββββββββββββββββββββββββββββββ
Features:
- Transactional, background image-based (versioned/checksummed) upgrades, using both bootable container images as well as an "ostree native" HTTP model
- OS rollback without affecting user data (
/usr
but not/etc
,/var
) via libostree - Client-side package layering (and overrides)
- Custom base images via
rpm-ostree compose image
(container) orrpm-ostree compose tree
(ostree repo)
For more information, see the project documentation or the project documentation website.
rpm-ostree includes code licensed under GPLv2+, LGPLv2+, (Apache 2.0 OR MIT). For more information, see LICENSE.