48 lines
2.7 KiB
Markdown
48 lines
2.7 KiB
Markdown
# rpm-ostree: A true hybrid image/package system
|
|
|
|
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
|
|
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) |
|
|
| | | |
|
|
+-------------------------------------------+ +-----------------------------------------+
|
|
```
|
|
|
|
**Features:**
|
|
|
|
- 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)
|
|
- Easily make your own: `rpm-ostree compose tree` and [CoreOS Assembler](https://github.com/coreos/coreos-assembler)
|
|
|
|
## Documentation
|
|
|
|
For more information, see the [project documentation](docs/index.md) or the
|
|
[project documentation website](https://coreos.github.io/rpm-ostree).
|
|
|
|
## License
|
|
|
|
rpm-ostree includes code licensed under GPLv2+, LGPLv2+, (Apache 2.0 OR MIT).
|
|
For more information, see [LICENSE](https://github.com/coreos/rpm-ostree/blob/main/LICENSE).
|