Go to file
Colin Walters d1fe505d02 Port rpmostreed-transaction to C++
And add a try/catch-convert-to-GError here too.  This will
allow us to throw exceptions from transaction implementations.
2020-12-08 16:01:52 -05:00
.github dependabot: Drop pull request limit to 3 2020-10-19 18:05:19 -04:00
api-doc rust/treefile: Support dash convention for all options 2019-03-02 19:20:21 +00:00
bindgen bindgen: Bump to 0.15 2020-12-04 04:03:54 -05:00
buildutil buildutils: Add libglnx.m4 to .gitignore 2018-04-05 15:26:46 +00:00
ci sh: fix bash shebang 2020-11-11 16:50:43 +01:00
completion Add support for bash completion 2019-03-01 21:36:39 +00:00
design Initial renaming pass of "jigdo" to "rojig" 2018-02-26 15:32:50 +00:00
docs docs: Update links to the OSTree documentation 2020-11-17 14:14:23 +01:00
experiments-and-demos/skopeo2ostree experiments-and-demos: New subdir with skopeo2ostree Dockerfile 2018-01-11 14:07:17 +00:00
libdnf@028bc355b9 build(deps): bump libdnf from 35f2062 to 028bc35 2020-12-08 04:48:21 -05:00
libglnx@900caea698 build(deps): bump libglnx from a8b4418 to 900caea 2020-12-07 10:06:37 -05:00
man Add new ex initramfs-etc command 2020-10-30 00:48:54 +01:00
packaging Release 2020.8 2020-11-13 23:03:23 +01:00
rust build(deps): bump serde_json from 1.0.59 to 1.0.60 in /rust 2020-12-08 03:53:49 -05:00
scripts Make /run a directory in scripts 2020-10-22 16:43:00 -04:00
src Port rpmostreed-transaction to C++ 2020-12-08 16:01:52 -05:00
tests tests: Add case for running rpm -q in a %post 2020-12-07 15:09:44 -05:00
vagrant vagrant: Add header noting coreos-assembler 2019-05-13 19:50:58 +00:00
.cci.jenkinsfile Revert "ci: Freeze FCOS commit to f32" 2020-12-07 07:58:18 -05:00
.dir-locals.el .dir-locals.el: Global Emacs style settings 2017-01-12 16:09:16 +00:00
.editorconfig tree: add vimrc and editorconfig 2017-10-02 14:36:44 +00:00
.gitmodules Rebase to latest libdnf 2019-03-19 14:29:15 +00:00
.vimrc tree: add vimrc and editorconfig 2017-10-02 14:36:44 +00:00
autogen.sh build-sys: Fix use of libglnx configure bits 2017-12-15 16:32:39 +00:00
configure.ac Convert some code to compile in C++ mode 2020-12-01 22:07:49 +01:00
CONTRIBUTING.md docs: fix ostree and CONTRIBUTING.md links 2016-07-12 15:46:53 +00:00
COPYING.GPL Clarify license situation to include GPLv2, relicense Rust code 2019-09-05 20:49:18 +00:00
COPYING.LGPL Clarify license situation to include GPLv2, relicense Rust code 2019-09-05 20:49:18 +00:00
git.mk build: Use git.mk, make git status clean 2016-03-10 14:36:44 -05:00
HACKING.md docs: Import Hacking page 2020-10-01 12:01:25 -04:00
LICENSE Clarify license situation to include GPLv2, relicense Rust code 2019-09-05 20:49:18 +00:00
Makefile-bash.am build: Hook up bash completions 2019-03-07 00:47:39 +00:00
Makefile-daemon.am Port rpmostreed-transaction to C++ 2020-12-08 16:01:52 -05:00
Makefile-decls.am Convert some code to compile in C++ mode 2020-12-01 22:07:49 +01:00
Makefile-extra.inc ci: Verify rustfmt 2018-11-21 21:16:03 +00:00
Makefile-lib-defines.am lib: Add version macros and version checking function 2017-07-21 20:35:26 +00:00
Makefile-lib.am Makefile.am: Link with --enable-new-dtags 2020-05-11 21:42:05 +02:00
Makefile-libdnf.am Rebase to latest libdnf 2019-03-19 14:29:15 +00:00
Makefile-libpriv.am Port rpmostree-core to C++ 2020-12-08 09:57:08 -05:00
Makefile-man.am man: Add rpm-ostreed-automatic page 2018-03-07 22:54:33 +00:00
Makefile-rpm-ostree.am app: Port dbus-helpers to C++ 2020-12-08 09:57:08 -05:00
Makefile-tests.am Remove ex-container 2020-12-01 23:51:45 +01:00
Makefile.am Convert some code to compile in C++ mode 2020-12-01 22:07:49 +01:00
mkdocs.yml docs: Start using mkdocs 2016-03-09 11:10:58 -05:00
OWNERS OWNERS: extend/reorder approvers section 2020-10-30 19:42:31 +01:00
README.md README.md: Keep it short and sweet 2020-10-01 14:29:37 -04:00
RELEASE.md docs: Import Release page 2020-10-01 12:01:25 -04:00
Vagrantfile vagrant: Use a Fedora 29 container 2019-05-09 00:08:14 +00:00

rpm-ostree: A true hybrid image/package system

rpm-ostree is a hybrid image/package system. It combines libostree as a base image format, and accepts RPM on both the client and server side, sharing code with the dnf project; specifically 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

Documentation

For more information, see the project documentation or the project documentation website.

License

rpm-ostree includes code licensed under GPLv2+, LGPLv2+, (Apache 2.0 OR MIT). For more information, see LICENSE.