⚛📦 Hybrid image/package system with atomic upgrades and package layering
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:
/usr
but not /etc
, /var
) via libostreerpm-ostree compose image
(container) or rpm-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.