Status:
There are bootable images of CentOS Stream.
Note: I got the info that the CentOS people are working on this. Still, I think thats too slow XD
Note 2: See below for word explanations
CentOS is the downstream of Fedora and upstream of the extremely stable RHEL.
Debian is stable and has a release cycle of 2 years, RHEL uses 5 years. So using RHEL on a desktop is overkill.
But unlike all the hate about RedHat converting CentOS to CentOS Stream, I think this makes it a very very good candidate for a normal workstation!
It has EPEL and COPR repo support, so you can get tons of external packages, desktops etc. You can also just clone COPR repos you like, or ask the maintainers to add CentOS Stream to the builds.
I would not want to use a "traditionally" package-managed distro anymore though, it is just not reliable enough for me.
rpm-ostree is perfect, Fedora Atomic Desktops (Silverblue, Kinoite, Sericea, ...), uBlue, Bazzite, Bluefin, Aurora. Even a COSMIC image is there.
rpm-ostree needs 2 things:
- An ostree remote OR OCI container registry, to pull the main image
- Optional, for layering: traditional RPM package repositories
The repos are already there, but an OCI image is needed. There are OCI images of CentOS stream.
But uBlues framework can not just be used, as they download the image from Fedora, chroot into it and use the builtin tools. This requires the presence of rpm-ostree
and a kernel, which are both missing in the CentOS Stream image.
So, the question:
Do you know how to manipulate OCI images, to pull it in, add packages from the CentOS repos (kernel) and COPR (rpm-ostree), do some changes and build an OCI image again?
Word explanations
word | explanation | |
---|---|---|
OCI | Open container initiative, a container format which docker, podman, ublue and more use. With ostree native containers these may replace ostree remotes in the future | |
upstream | where code first occurs. The official developers repo for example. | |
downstream | some place where code arrives later, for example through (distro) packaging, or in stable distros | |
distro | distribution, a form of packaging the kernel, utils and software into a usable form | |
RHEL | RedHat enterprise linux, product of RedHat | |
CentOS | discontinued clone of RHEL, (ab)used by many companies to get a rock solid and compliant OS for free | |
CentOS Stream | continuation of CentOS, upstream of RHEL, downstream of Fedora. The middleground so to say | |
EPEL | extra packages for enterprise linux, a repo to get more software onto RHEL, CentOS Stream and RHEL clones like AlmaLinux and RockyLinux | |
COPR | "cool other package repos" (I think), the AUR or OpenBuildService of Fedora, building RPMs and creating repos very easily | |
rpm-ostree | a package manager that uses ostree and rpm, to manage the system using ostree, and add or remove packages using rpm, from traditional repos | |
ostree | something like git for your OS, making sure it is 100% what is upstream on the servers, ensuring perfectly reproducable bugs, reducing entropy etc. Also has support for rebase other git-like concepts. In my opinion an incredibly awesome way to manage a distro | |
entropy | physical concept of "chaos". Here: the amount of variables you can have in an OS, like adding and removing packages, installing external repos, changing configs, ... | |
Fedora Atomic Desktops | Fedora Desktop variants using rpm-ostree. Silverblue=GNOME, Kinoite=KDE, Sericea=Sway, also Budgie and more | |
uBlue | a project "consuming" Fedoras various images, adding packages, configurations etc, making them painless. They have a ton of desktops, HWE images, server images etc | |
HWE | hardware enablement, here adding proprietary NVIDIA Drivers and the needed configs, using the Surface kernel or ASUS patches | |
Bazzite | uBlues Gaming variant, to replace SteamOS or to use on other handhelds and desktops | |
Bluefin | uBlues custom Silverblue variant with lots of cool modern stuff and also a developer edition | |
Aurora | Bluefin but with KDE instead of GNOME | |
COSMIC | System76' new desktop, Wayland only, written from scratch in Rust, using the Iced toolkit and the Smithay library |
There are ostree-enabled OCI containers of centos if you know where to look. :D
This should be enough until they start publishing official ones, never used it:
https://quay.io/repository/centos-bootc/centos-bootc-dev?tab=tags
Damn good find! So, this image could be pulled in using bluebuild, then adding rpm-ostree using dnf, and doing all the stuff like that?
Thinking about it, the image will be very different from Fedoras, being a mutable minimal CentOS. So all the linking and making immutable would need to be done.
No it's designed to be consumed as a base image for ostree enabled OCI containers.
Ok then lets go! I hope I can get something going in a few days