OSTree
libostree (previously OSTree) is a system for versioning updates of Linux-based operating systems.[1] It can be considered as "Git for operating system binaries". It operates in userspace, and will work on top of any Linux file system. At its core is a Git-like content-addressed object store with branches (or "refs") to track meaningful file system trees within the store.
Repository | github |
---|---|
Written in | C |
Operating system | Linux (Fedora Silverblue, endless OS, Flatpak, and others) |
License | LGPL v2+ |
Website | ostreedev |
Features
OSTree is closely inspired by Git. It operates on commits which refer to filesystem trees. To refer to different commits while maintaining a user-readable name, OSTree provides "references" (analogous to branches in Git), such asexampleos/buildmain/x86_64-runtime
.
Files provided by commits are by default immutable, done by mounting the filesystem itself as read-only. OSTree allows for two mutable directories for storing user data: /etc
and /var
. It provides a mechanism to allow filesystem trees to add configuration files to /etc
while also allowing system administrators to edit those files in a persistent manner.
OSTree provides bootloader management for hardware deployments. This enables atomic updates, as OSTree can create deployments and atomically insert them into the boot partition. It also allows for systemwide rollback by selecting old deployments during startup.
Usage
libostree is used by various Linux operating systems and tools:
- endless OS through eos-updater.[2]
- Flatpak, used to store applications and runtimes and to provide deduplication.[3]
- Fedora's immutable spins (Silverblue, Kinoite, and Sericea) through rpm-ostree[4]
- Atomic Host
- The GNOME continuous project for continuous delivery of GNOME components.[5]
- Torizon OS embedded Linux uses libostree with the Uptane Frameworks for OS Updates.[6]
References
- "OSTree Manual". Retrieved 2 January 2018.
- eos-updater, Endless OS Foundation, 2023-03-30, retrieved 2023-05-17
- "Under the Hood — Flatpak documentation". docs.flatpak.org. Retrieved 2023-05-17.
- "Fedora Silverblue User Guide". Fedora Docs. Retrieved 2023-05-17.
- "Gnome Continuous". Retrieved 25 January 2018.
- "Torizon OS". Toradex. 11 October 2023.