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 as exampleos/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.
libostree is used by various Linux operating systems and tools:
This article incorporates text available under the CC BY 3.0 license.
"ostree documentation". https://ostreedev.github.io/ostree/ ↩
eos-updater, Endless OS Foundation, 2023-03-30, retrieved 2023-05-17 https://github.com/endlessm/eos-updater ↩
"Under the Hood — Flatpak documentation". docs.flatpak.org. Retrieved 2023-05-17. https://docs.flatpak.org/en/latest/under-the-hood.html ↩
"Fedora Silverblue User Guide". Fedora Docs. Retrieved 2023-05-17. https://docs.fedoraproject.org/en-US/fedora-silverblue/ ↩
"Gnome Continuous". Retrieved 25 January 2018. https://wiki.gnome.org/Projects/GnomeContinuous ↩
"Torizon OS". Toradex. 11 October 2023. https://developer.toradex.com/torizon/in-depth/ostree/ ↩