rpm-ostree VS awesome-immutable

Compare rpm-ostree vs awesome-immutable and see what are their differences.

rpm-ostree

⚛📦 Hybrid image/package system with atomic upgrades and package layering (by coreos)

awesome-immutable

A list of resources for people who want to investigate image-based Linux desktops (by castrojo)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
rpm-ostree awesome-immutable
47 12
813 736
2.1% -
9.6 6.1
7 days ago 3 months ago
C
GNU General Public License v3.0 or later -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

rpm-ostree

Posts with mentions or reviews of rpm-ostree. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-13.
  • What do you prefer more and why?
    3 projects | /r/Fedora | 13 Jun 2023
    I definitely agree that immutability offers considerable value in regards to improving security. But arguably it's insufficient to pull the win over mutable Fedora due to the losses caused by the inability to install the kernel-hardened package and the lack of UKI (Unified Kernel Image) support.
  • Looking to test out fedora Silverblue. I have only 1 question
    1 project | /r/Fedora | 5 May 2023
    Issue: https://github.com/coreos/rpm-ostree/issues/3944
  • What is the difference between Immutable Desktops and non Immutable Desktops?
    4 projects | /r/linuxquestions | 30 Apr 2023
    Oversimplifying might have been the most sensible in this context. However, you might have gone a little bit too far as your description fits only NixOS, Guix and distros that utilize rpm-ostree.
  • Universal Blue is a new paradigm for the Linux desktop and it's brilliant
    1 project | /r/linuxmasterrace | 25 Apr 2023
    here's the documentation of ostree (the package manager)
  • Fedora Silverblue 38: rpm-ostree crashes
    1 project | /r/Fedora | 20 Apr 2023
    Now... this was VERY alarming to say the least, so I went online and did indeed find an issue on GitHub.
  • Fedora Linux 38 released!
    4 projects | /r/Fedora | 18 Apr 2023
  • The New website is here, with modern UI. And getfedora.org redirect to fedoraproject.org with fresh look.😃
    1 project | /r/Fedora | 18 Apr 2023
    And there are still some issues with layering. Some packages that don't behave or follow standards will modify files in /usr/local, which isn't supported, so you simply won't be able to install them on Silverblue. I think it's the same for /opt as well. (https://github.com/coreos/rpm-ostree/issues/233) This means it fundamentally can't do everything Workstation can, which is unfortunate.
  • Flatcar Container Linux
    14 projects | news.ycombinator.com | 9 Apr 2023
    ublue is based off of fedora and rpm-ostree, which is what "CoreOS" is today.

    What happened was old school CoreOS was A/B partition based: https://github.com/coreos/docs/blob/master/os/sdk-disk-parti...

    My memory is hazy but here's how I remember it: After Red Hat acquired CoreOS they rebased the entire thing around rpm-ostree, which is the CoreOS people know today: https://coreos.github.io/rpm-ostree/

    At the time there was some anxiety in the community as to what would happen, as there was no direct upgrade path from old CoreOS to new CoreOS. Theoretically if we all believed the kool-aid we were drinking it's just a redeploy, no pets!

    Kinvolk came along, forked it, and made Flatcar Linux, which kept the A/B partitioning system, and more crucially, let you just change a config file and all your old CoreOS nodes would just move to Flatcar and then you were good to go. So now if you wanted to stay on the system you were comfortable with you could just use Flatcar. If the composability of rpm-ostree attracted you then new CoreOS have you covered. Red Hat deserves a hat tip here because in their documentation/blog they explicitly mentioned Flatcar as an option for people who wanted to stick with what they know, which I thought was cool and how I discovered it!

    Later on Microsoft acquired Kinvolk and and then people raised eyebrows. I have not checked in a while but the folks involved continued to do their thing and run it like a good OSS project, hold public meetings, all that stuff.

    I use both and they're both high quality.

  • Immutable Linux Distributions for Those Looking to Embrace the Future
    7 projects | news.ycombinator.com | 31 Mar 2023
    Whenever I was looking at using CoreOS, I was somewhat disheartened that automatic reboots weren't built in: https://github.com/coreos/rpm-ostree/issues/2831. Has this changed? I know zincati has maintenance window support, which would also be nice to have.
  • [HELP] AMD REST BUG
    2 projects | /r/VFIO | 27 Mar 2023
    Doesn't look like it https://github.com/coreos/rpm-ostree/issues/1091

awesome-immutable

Posts with mentions or reviews of awesome-immutable. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-29.
  • Flathub: One million active users and growing
    2 projects | news.ycombinator.com | 29 Jan 2024
    Interesting article!

    My takeaways:

    >"The current solutions involve packaging entire alternate runtimes in containerized environments. Flatpak, Snap, AppImage, Docker, and Steam: these all provide an app packaging mechanism that replaces most or all of the system’s runtime libraries, and they now all use containerization to accomplish this."

    [...]

    >"All of these technologies are essentially building

    an entire OS on top of another OS

    just to avoid the challenges of backwards compatibility."

    This is basically using containers to replace all system libraries -- to insure that a downloaded binary app always works.

    From this point forward, we'll use the term "API" to represent not just Linux kernel syscalls, but the totality of all library calls (system and otherwise!) used by a given downloaded binary application!

    Observation: API (in-)consistency (AKA "Stability") one Linux version to another, one Linux distro to another -- is the real problem!

    That's the real cause!

    Because everything else, everything else, is effect, not cause!

    The containerization, the bloated "everything but the kitchen sink" downloads, are the effect of the problem of API (in-)consistency!

    Phrased a simpler way -- there is absolutely NO guarantee of consistency between the libraries, system and otherwise, of any two Linux distros!

    So if a binary app is to run on all Linux distros -- then it had better damn well better make sure that the exact specific version of all of the libraries that it needs -- are managed by it, not the host operating system!

    Containers and bloated library downloads -- are (unfortunately) currently necessary to provide this!

    Related:

    "Linux Library Mismatch":

    https://www.google.com/search?q=linux+library+mismatch

    "DLL Hell" (the MS-Windows equivalent)

    https://en.wikipedia.org/wiki/DLL_Hell

    Software Engineering: Bertrand Meyer, "Design By Contract":

    https://en.wikipedia.org/wiki/Design_by_contract

    API Contracts: "What is an API Contract?":

    https://www.youtube.com/watch?v=-qM__ozdHCU

    Eelcho Dolstra: "The Purely Functional Software Deployment Model":

    https://edolstra.github.io/pubs/phd-thesis.pdf#page=11

    Image-based Linux distributions and associated tools:

    https://github.com/castrojo/awesome-immutable

    Spencer Baugh: "Managing Dependencies":

    https://catern.com/posts/deps.html

  • Hello everyone!
    3 projects | /r/FindMeADistro | 24 May 2023
    If you're simply in search of other immutable distros, then I would recommend you to look under the "Distributions" section on this page.
  • What is the difference between Immutable Desktops and non Immutable Desktops?
    4 projects | /r/linuxquestions | 30 Apr 2023
    The answer to that question is out of scope for what is sensible to write in a comment. Also, because we're mostly still exploring what it is or rather what we'd want it to be. But if you're really interested, then I'd suggest you to dive into this wonderful resource. You don't have to go through everything that's found within. However, I'm sure there's something in there that peaks your interest and you can go from there.
  • Immutable Linux Distributions for Those Looking to Embrace the Future
    7 projects | news.ycombinator.com | 31 Mar 2023
    Flatcar uses 2 partitions, A and B, you boot into one and then updates update the one that you're not booted into, when you reboot it it boots into the updated one. It's like Android: https://source.android.com/docs/core/ota/ab

    I maintain an awesome-list of immutable resources here with a collection of talks and presentations from the people making the stuff: https://github.com/castrojo/awesome-immutable

    However I'm currently focused on desktop stuff since the it's a fairly common pattern in cloud already, I should probably write it up.

    Semi-related, a few of us have started a community around composable OCI fedora images, and one of our images is intended to be used as a home server built on CoreOS with ZFS, cockpit, and all the goodies you'd need. It's still fresh and we're looking for help if anyone's interested: https://github.com/ublue-os/ucore (Disclaimer: I helped start this project)

  • What are good resources for silverblue ?
    3 projects | /r/Fedora | 28 Feb 2023
    Some interesting links: https://github.com/castrojo/awesome-immutable
  • A list of resources for people who want to investigate image-based Linux desktops
    1 project | /r/CKsTechNews | 22 Feb 2023
  • Immutable image-based Linux desktops
    1 project | news.ycombinator.com | 22 Feb 2023
  • Hi, i installed the Fedora 37 Silverblue (Gnome) But DNF and YUM commands dont even exist there. what i made?
    1 project | /r/Fedora | 12 Feb 2023
    Found this page for you. It has lots of resources, including videos and guides, about all things Silverblue and other immutable Linux distros, and their tooling. Enjoy.
  • What is best Distro/DE combo for productivity on ML Workstation
    1 project | /r/FindMeADistro | 19 Jan 2023
    Note, I haven't tried these two distros myself, but I am strongly considering moving to such a system at the moment. Here is some reading material in case you're interested: https://github.com/castrojo/awesome-immutable
  • GitHub - castrojo/awesome-immutable: A list of resources for people who want to investigate image-based Linux desktops
    1 project | /r/devopsish | 13 Nov 2022

What are some alternatives?

When comparing rpm-ostree and awesome-immutable you can also consider the following projects:

ostree - Operating system and container binary deployment and upgrades

arch-linux-installation-guide - An easy to follow Arch Linux installation guide. This guide will show you how to properly install Arch Linux on UEFI/BIOS systems, ext4/btrfs file systems; using systemd-bootloader/GRUB and systemd-networkd/NetworkManager for networking. These are the given examples but I have provided links to sections with the information necessary to install any 86_64 system

vscode-remote-release - Visual Studio Code Remote Development: Open any folder in WSL, in a Docker container, or on a remote machine using SSH and take advantage of VS Code's full feature set.

bazzite - Bazzite is a custom image built upon Fedora Atomic Desktops that brings the best of Linux gaming to all of your devices - including your favorite handheld.

openvpn-install - OpenVPN road warrior installer for Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS and Fedora

sodalite - 🪨 A Pantheon experience for rpm-ostree [Moved to: https://github.com/sodaliterocks/sodalite]

cxx - Safe interop between Rust and C++

ucore - An OCI base image of Fedora CoreOS with batteries included

tectonic - A modernized, complete, self-contained TeX/LaTeX engine, powered by XeTeX and TeXLive.

ublue - A familiar(ish) Ubuntu desktop for Fedora Silverblue.

distrobox - Use any linux distribution inside your terminal. Enable both backward and forward compatibility with software and freedom to use whatever distribution you’re more comfortable with. Mirror available at: https://gitlab.com/89luca89/distrobox

ostree-rs-ext - Rust library with higher level APIs on top of the core ostree API