ostree/README.md
Colin Walters 64ebe2b82a Rewrite manual in mkdocs
I don't much like Docbook (and am considering converting the man pages
too), but let's start with the manual.

I looked at various documentation generators (there are a lot), and
I had a few requirements:

 - Markdown
 - Packaged in Fedora
 - Suitable for upload to a static webserver

`mkdocs` seems to fit the bill.
2016-01-28 09:31:37 -05:00

2.4 KiB

OSTree

OSTree is a tool that combines a "git-like" model for committing and downloading bootable filesystem trees, along with a layer for deploying them and managing the bootloader configuration.

Traditional package managers (dpkg/rpm) build filesystem trees on the client side. In contrast, the primary focus of OSTree is on replicating trees composed on a server.

Features:

  • Atomic upgrades and rollback
  • GPG signatures and "pinned TLS" support
  • Support for parallel installing more than just 2 bootable roots
  • Binary history on the server side
  • Introspectable shared library API for build and deployment systems

Projects using OSTree

rpm-ostree is a tool that uses OSTree as a shared library, and supports committing RPMs into an OSTree repository, and deploying them on the client.

Project Atomic uses rpm-ostree to provide a minimal host for Docker formatted Linux containers.

xdg-app uses OSTree for desktop application containers.

GNOME Continuous is a custom build system designed for OSTree, using OpenEmbedded in concert with a custom build system to do continuous delivery from hundreds of git repositories.

Building

Releases are available as GPG signed git tags, and most recent versions support extended validation using git-evtag.

However, in order to build from a git clone, you must update the submodules. If you're packaging OSTree and want a tarball, I recommend using a "recursive git archive" script. There are several available online; this code in OSTree is an example.

Once you have a git clone or recursive archive, building is the same as almost every autotools project:

env NOCONFIGURE=1 ./autogen.sh
./configure --prefix=...
make
make install DESTDIR=/path/to/dest

More documentation

Some more information is available on the old wiki page: https://wiki.gnome.org/Projects/OSTree

The intent is for that wiki page content to be migrated into Markdown in this git repository.

Contributing

See Contributing.