What is rpm-ostree? What category of software would it fit in? Version control?

I really love the way rpm-ostree and silverblue work.

I tell people it’s like git but for operating system updates - is this just an analogy, or is that literally what it is. Would you describe it as “version control” software?

Is there an umbrella term that you can use to describe both git and rpm-ostree?

The whole recording changes and being able to roll-back to past states. What is this “type” of thing called? I want to write a little about it and brainstorm how this kind of solution could apply to other problems (even outside of software).

Hi there. I know the feeling. Once I had Silverblue up and running I started mulling on all the moving parts that have to be coordinated for such a system. I was reminded of the Arthur C. Clark quote: “Any sufficiently advanced technology is indistinguishable from magic.”

The introduction of the official rpm-ostree documents has a good overview here:

rpm-ostree: A true hybrid image/package system

Is there an umbrella term that you can use to describe both git and rpm-ostree?

I think ‘repository’ is a good base term. Git version control and rpm-ostree transactions both rely on repos to make changing history or updating packages rigorous.

Also, there’s a good discussion on Hacker News about ostree. One of the commenters pointed out that having a filesystem such as btrfs built on the concept of snapshots is also essential:

OSTree – Robust OS upgrades for Linux

1 Like

Thanks for the links! (The second one, to hacker news isn’t working for me though)

What exactly is a repository? I feel like the word doesn’t capture what I’m talking about that’s what in common between OSTree and Git.

Apt-get, yum, dnf are all repositories, right?

However, I’m thinking more of the fact that it’s structured as a tree with nodes and branches and that it’s possible to roll back to a past state. One thing about Git and rpm-ostree is that we can feel more at ease with changing our code / updating, we can be bolder knowing that we can easily reverse changes.

Hmm, Hacker News seems to be having problems, here’s another link:

OSTree – Robust OS upgrades for Linux | Hacker News (archive.is)

Apt, dnf and it’s ilk are package managers. One of the major problems rpm-ostree works towards addressing is a long history of package managers breaking on upgrades and leaving systems in unstable or unusable states. Just search the web for Linux package updates breaking systems and you’ll find decades of horror stories.

The ostree part of rpm-ostree is what separates potentially brittle traditional packaging from Silverblue’s hybrid package/image system. Rather than having to completely hose your system and start from scratch, you have known working previous bootable installation to fallback to.

What exactly is a repository? I feel like the word doesn’t capture what I’m talking about that’s what in common between OSTree and Git.

More literature:

Anatomy of an OSTree repository - ostreedev/ostree

A friend of mine, who’s familiar with Git but rpm-ostree only through my description of it, brought up the phrase “Event sourcing” as the category that both of these fall under.

I wrote up a note on it, would love to hear what you guys thought: