2018-02-14 00:15:10 +03:00
# rpm-ostree: A true hybrid image/package system
2020-09-30 19:22:55 +03:00
rpm-ostree is a hybrid image/package system. It combines
[libostree ](https://ostree.readthedocs.io/en/latest/ ) as a base image format,
and accepts RPM on both the client and server side, sharing code with the
[dnf ](https://en.wikipedia.org/wiki/DNF_(software )) project; specifically
[libdnf ](https://github.com/rpm-software-management/libdnf ). and thus bringing
2018-02-14 00:15:10 +03:00
many of the benefits of both together.
```
+-----------------------------------------+
| |
| rpm-ostree (daemon + CLI) |
+------> < --------- +
| | status, upgrade, rollback, | |
| | pkg layering, initramfs --enable | |
| | | |
| +-----------------------------------------+ |
| |
| |
| |
+-----------------|-------------------------+ +-----------------------|-----------------+
| | | |
| libostree (image system) | | libdnf (pkg system) |
| | | |
| C API, hardlink fs trees, system repo, | | ties together libsolv (SAT solver) |
| commits, atomic bootloader swap | | with librepo (RPM repo downloads) |
| | | |
+-------------------------------------------+ +-----------------------------------------+
```
2014-10-31 21:39:57 +03:00
2016-03-09 18:58:13 +03:00
**Features:**
2018-02-14 00:15:10 +03:00
- Transactional, background image-based (versioned/checksummed) upgrades
- OS rollback without affecting user data (`/usr` but not `/etc` , `/var` ) via libostree
- Client-side package layering (and overrides)
2019-09-04 15:29:17 +03:00
- Easily make your own: `rpm-ostree compose tree` and [CoreOS Assembler ](https://github.com/coreos/coreos-assembler )
2016-03-09 18:58:13 +03:00
2020-09-30 19:22:55 +03:00
## Documentation
For more information, see the [project documentation ](docs/index.md ) or the
[project documentation website ](https://coreos.github.io/rpm-ostree ).
## License
2019-09-05 17:52:38 +03:00
rpm-ostree includes code licensed under GPLv2+, LGPLv2+, (Apache 2.0 OR MIT).
2020-10-01 19:02:52 +03:00
For more information, see [LICENSE ](https://github.com/coreos/rpm-ostree/blob/master/LICENSE ).