Spotlight - AlmaLinux
The first AlmaLinux OS release was published on 30.03.2021. Since CentOS shifted the focus to CentOS Stream, the community was waiting for a new open source downstream fork of Red Hat Enterprise Linux (RHEL). In this article, I will have a look at AlmaLinux OS and explain what you might expect.
Upstream / Downstream
Before digging into the OS, we have to understand why AlmaLinux OS is even a thing. I will try to give a brief overview.
In many larger Open Source projects you will find words like upstream or downstream. The idea here is similar to a real stream (like a river). The more you go upstream, the closer you will get to the source. If somebody considers a tool or a software as "upstream", this only indicates, that it is closer to its origin source. This concept can be seen in Linux distributions very often. For AlmaLinux OS one may say, it is very downstream.
The above picture shows, that AlmaLinux OS is downstream of RHEL, which is downstream of CentOS Stream, which is Downstream of Fedora Linux.
This does not indicate, that one of them is worse or better than the upstream distributions. It's just a statement, where it is coming from.
After this short explanation, let's focus on AlmaLinux OS again. You can expect a feature-per-feature and bug-per-bug binary compatible RHEL fork. In the below sections, I will give a brief overview.
Release & Support
AlmaLinux OS is very new and for now, there is not a ton of documentation of the Life Cycle for it. The website states: "CloudLinux has committed to supporting AlmaLinux OS until 2029, including stable and thoroughly tested updates and security patches.". It is not very clear, if this is about AlmaLinux OS 8 or the project itself.
For support, there is at least a strong commitment to have proper community support. Since the project is backed by CloudLinux, we may also see paid support in the future.
Let's start with the installation, which is very similar to RHEL or CentOS Stream. After downloading the image, you can start a VM and attach the ISO directly or create an installation media. For the media creation, you can use the CentOS guide, since AlmaLinux does not have a dedicated documentation for it, yet. Booting it up, and you will be greeted from the Anaconda installer.
The installer works exactly the same as in CentOS or RHEL, but is branded with the AlmaLinux identity.
After choosing a language, you will end up in the Anaconda selection menu, where you need to check of the red marked sections. In addition, you can tune the other sections to your liking.
I would start with the Network section. In CentOS, RHEL, AlmaLinux and other derivates of the same, you need to ensure that the Network is enabled on boot. Per default, this will be disabled.
Click "Configure..." and Select "Connect automatically with priority" in the "General" tab.
Afterwards, you can enable the network and should see an IP address from your DHCP server. You can also configure a manual IP address and additional network settings in the previous menu.
Afterwards, you should create a user. If this user is marked as "Make this user administrator", you don't need to provide a root password.
In the "Installation destination" section, you can configure the partitions and disk layout. I am using the "automatic" storage configuration, which is ok for testing. AlmaLinux OS uses XFS as the default filesystem.
I am also changing the software selection to "Minimal Install". Per default, AlmaLinux OS will install a ton of packages, including a graphical environment.
Changing the timezone to "Etc/UTC" is also recommended for servers.
If you are happy with your configuration, you just need to hit the "Begin Installation" button and Anaconda will do its thing.
At the end of this process, you need to hit "Reboot" and will be greeted with a prompt. I strongly suggest logging in and update your system with the below commands.
# Update the system $ sudo dnf update -y # Reboot afterwards $ sudo reboot
After the update, you will have a fresh and updated AlmaLinux OS to play with.
If you are having an existing CentOS installation, you can migrate to AlmaLinux OS very easily. You can find the migration tool here and just need to follow the guide. For now migrations from RHEL 8 and CentOS 8 are supported. It boils down to the below commands.
# Download $ curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh # Run $ sudo bash almalinux-deploy.sh
I recommend a reboot afterwards.
I was really surprised how well everything was working. In only 3 months the team created something, that is really usable and feels like CentOS Linux 8.
The package repositories are named exactly the same as in CentOS. Nevertheless, everything was branded properly. I haven't seen any leftovers from Red Hat or CentOS branding. This clearly indicates, that the folks over at AlmaLinux are having some experience with this.
I was able to test some network configurations and typical server software like Apache httpd, MariaDB, PostgreSQL or chrony. Everything worked fine.
If you need Ansible on the machine, you will not have a dedicated repository for Ansible-2.9, like in RHEL or CentOS. Since Ansible is available in EPEL, this wasn't an issue for me.
Installing EPEL works exactly the same as in CentOS.
# Install EPEL $ sudo dnf install epel-release -y
Maybe the involvement of some CentOS folks also helped, but anyway this release feels really polished.
Let's have a look at the ecosystem. This is always a mandatory thing for me. And again, I was surprised:
- container images are present and up-to-date
- Vagrant boxes do exist for libvirt and VirtualBox
Community wise, you are also getting everything you desire:
- read the blog for announcements and news
- report bugs, to enhance the experience
- get in touch with community via IRC or Reddit
- if you like videos, there is a YouTube channel available
For developers and people who want to contribute, the GitHub organization and the pages for developers and contributors may be interesting.
Not everything is perfect yet. But that is something to be expected after only 3 months. The documentation in the Wiki is really lacking and aside some FAQ, you cannot find much there.
Nevertheless, basically every RHEL or CentOS documentation can be adapted to use AlmaLinux OS. I am sure this situation will improve soon. Please feel free to help.
Some people talked about AlmaLinux OS and you can find some videos online, too. Below you can find a list of content, that was interesting for me.
With the shift of the CentOS project some may have feared that there is no "free RHEL" anymore. In fact, quite the opposite happened. The ecosystem just has grown, and we are now having even more options.
For me AlmaLinux just released something wonderful, and I will definitely consider it for some future use cases. Really well done!