Once upon a time there was CentOS (Community ENTerprise Operating System), operating system and Linux distribution based on the source code of Red Hat Enterprise Linux (RHEL). Free and open source version of RHEL, CentOS It has gained wide popularity among professionals. It could in fact offer many of the advanced features of RHEL and ensure, at the same time, maximum compatibility. In December 2020, however, Red Hat announced a sea change for the project by moving the long-term support (LTS, Long Term Support), essential for those who manage server and application systems in-cloudfrom CentOS Linux 8 to CentOS Stream. AlmaLinux it is one of the Linux distributions that were born, by will of the community, following that announcement.
The decision made by Red Hat, in fact, disappointed many users and companies that relied on CentOS as free alternative and stable at RHEL. So we looked for convincing solutions that could offer long-term guarantees: the development of AlmaLinux was born from the ashes of CentOS and is supported by a non-profit organization called AlmaLinux OS Foundation.
We recently saw, for example, how to install WordPress on AlmaLinux and start with your own project on server cloud.
AlmaLinux: binary compatibility with RHEL
Following the same path as CentOS, AlmaLinux aims to provide users with a Linux distribution binary compatible with RHEL and ensure a smooth transition for the CentOS user community.
When we say that a distribution is “binary compatible with RHEL” means that the packages compiled software for RHEL can run without any changes on that specific distribution. In other words, binary (or executable) files intended for RHEL can be used on AlmaLinux without the need for a new compilation and without the need for any adaptation. This binary compatibility It is essential because it allows users to use software designed for RHEL without having to deal with incompatibility issues. This can be especially important in enterprise environments where applications are often certified and tested specifically on a certain distribution, such as RHEL.
In mid-August 2023, a group of leading companies (Oracle, SUSE, and CIQ) formed an alliance to support the development of RHEL-compatible distributions.
The alternative distribution remains RHEL compatible without using Red Hat code
The alliance between Oracle, SUSE and CIQ brings a further problem to the table, which has arisen more recently after the initial Red Hat decision at the end of 2020. The red hat company has in fact made it more complex to access the RHEL code: it is therefore objectively much more difficult for projects like AlmaLinux to maintain compatibility with the Red Hat system.
Rather than conflict with Red Hat over usage restrictions of the RHEL source code, AlmaLinux OS Foundation decided to adopt a different strategy. Instead of aiming for “one-to-one” compatibility with RHEL, AlmaLinux wants to be “Application Binary Interface (ABI) compatible“. This means maintaining binary compatibility, as explained previously, with applications designed for RHEL.
AlmaLinux is using the source code of CentOS Stream, which Red Hat continues to support, as the core foundation. Developers also pull code from Red Hat Universal Base Images. The goal is to mimic the appearance and behavior of RHEL as much as possible: approximately 99% of the packages used by AlmaLinux are identical to the corresponding RHEL ones. Only about 24% of those with differences require manual changes to be applied.
A notable challenge is Red Hat’s Linux kernel updates, which AlmaLinux cannot access directly without violating the licensing agreements Red Hat. AlmaLinux therefore extracts the security patches from various alternative sources.
However, the AlmaLinux distribution does not want to simply be a clone of RHEL, but aims to add a series of its own features and functionality. For example, it supports software from the repository Extra Packages for Enterprise Linux (EPEL) and also offers the software called Synergywhich contains programs requested by the AlmaLinux community but not present in either EPEL or RHEL.