Awesome
rpm-ostree: A true hybrid image/package system
[!IMPORTANT] Currently, development focus has shifted to bootc, dnf, and the ecosystem around those tools. However, rpm-ostree is widely in use today in many upstream projects and downstream products and we will continue to support it for some time with an emphasis on fixing important bugs, especially security-related ones. Some minor enhancements may happen but in general new major features, especially client-side, are unlikely to be prioritized. For more information, see:
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)
Documentation
For more information, see the project documentation or the project documentation website.
License
rpm-ostree includes code licensed under GPLv2+, LGPLv2+, (Apache 2.0 OR MIT). For more information, see LICENSE.