# AlmaLinux

AlmaLinux is a free and open source Linux distribution, developed by the AlmaLinux OS Foundation, a 501(c) organization, to provide a community-supported, production-grade enterprise operating system that is binary-compatible with Red Hat Enterprise Linux (RHEL). The name of the distribution comes from the word "alma", meaning "soul" in Spanish and other Latin languages. It was chosen to be a homage to the Linux community.
The first stable release of AlmaLinux was published on March 30, 2021, and will be supported until March 1, 2029. AlmaLinux is built using publicly-viewable and reproducible methods using the AlmaLinux Build System (ALBS), which is a customized build system whose source code, like the distribution itself, is publicly distributed and licensed under open-source licenses.

## History

On December 8, 2020, Red Hat announced that development of CentOS, a free-of-cost downstream fork of the commercial Red Hat Enterprise Linux (RHEL), would be discontinued and its official support would be cut short to focus on CentOS Stream, a stable LTS release without minor releases officially used by Red Hat to preview what is intended for inclusion in updates to RHEL.
In response, CloudLinux – which maintains its own commercial Linux distribution, CloudLinux OS – announced that it would back AlmaLinux to provide a community-supported spiritual successor to CentOS Linux, aiming for binary-compatibility with the current version of RHEL. A beta version of AlmaLinux was first released on February 1, 2021, and the first stable release of AlmaLinux was published on March 30, 2021. AlmaLinux 8.x will be supported until 2029. Numerous companies, such as ARM, AWS, Equinix, and Microsoft, also support AlmaLinux. On March 30, 2021, the AlmaLinux OS Foundation was created as a 501(c) organization to take over AlmaLinux development and governance from CloudLinux, which has promised $1 million in annual funding to the project.
Following the release of AlmaLinux 8.6, on June 20, 2022, the AlmaLinux OS Foundation released the AlmaLinux Build System (ALBS).
In September 2022, the AlmaLinux OS Foundation held its first election, announcing a board of 7 community-elected members on September 19. Shortly after the election, Igor Seletskiy, the CEO of CloudLinux and then chair of the board, announced he would be stepping down to allow AlmaLinux to continue on as a community-led operating system, and the board chose Benny Vasquez as the new chair.
On December 7, 2022, it was announced that CERN and Fermilab would be providing AlmaLinux as the standard operating system for their experiments.
3 weeks after June 21, 2023, Red Hat's announcement that new restrictions were put on their code, AlmaLinux replied in a blog post that "the AlmaLinux OS Foundation board today has decided to drop the aim to be 1:1 with RHEL. AlmaLinux OS will instead aim to be binary compatible with RHEL".
In September 2023 the Foundation announced they would be expanding the board, and in December 2023 the AlmaLinux OS Foundation held their second election and announced Alejandro Iribarren of CERN and Jun Yoshida of Cybertrust Japan would be joining the board.

## Project ELevate

In September 2021, the AlmaLinux project announced a tool called ELevate that would allow in-place upgrades between major versions of enterprise Linux distributions. "ELevate is developed in a distribution agnostic way and is built as a tool for the whole ecosystem, not just AlmaLinux. ELevate supports migrating to/from other distributions and is open for all to contribute to and enhance." In January 2024 they expanded the tool to include support for additional repositories, and in April 2024 they added support for upgrading from CentOS 6 to CentOS 7, allowing some to upgrade in place from CentOS 6 through an enterprise Linux version 9 distribution of their choice.

## Build system

The AlmaLinux Build System, commonly shortened to "ALBS", is the build system of AlmaLinux. It was first used to release version 8.6 (Sky Tiger), and has the capability of automating builds for the x86-64, AArch64, ppc64, and S390x architectures. The ALBS consists of five components: the Git Service, Release System, Sign Server, Test System, Build Node. Each component is governed by an overarching component known as the "Master Service", which is intended to be controlled via its own API.

### Git Service

AlmaLinux's source code is directly sourced from Git code repositories of software packages that comprise Red Hat Enterprise Linux. Using a "listener" that monitors changes to existing repositories or additions of new repositories, the AlmaLinux Git Service pulls source code to its own publicly-available Gitea server instance. This public server's web interface also provides a view of build pipelines for each package. In addition, the service exposes an API that allows repositories to be directly consumed by the rest of ALBS.

### Build Node

Corresponding with the Master Service, the Build Node's purpose is to perform the compilation of source code stored in the Git repositories to create RPM packages that can later be used as part of the distribution installation process. As artifacts of the build process, these pieces have a dedicated storage from which they can be further processed.

### Test System

The AlmaLinux Test System (ALTS) tests RPM packages that exist as build artifacts. Using containerization technology, packages are given dedicated environments for which test suites can be exercised.

### Release System and Sign Server

In order to ensure integrity, each software package that is released for the AlmaLinux distribution is digitally-signed using the Pretty Good Privacy (PGP) cryptographic algorithm. The Sign Server simply takes artifacts created from the Build Node, signs them, and returns them back to artifact storage. From there, the Release System can upload them to release repositories.

## AlmaLinux OS Kitten and the AlmaLinux Build Pipeline

Prior to June 2023's source code change by Red Hat, AlmaLinux rebuilt RHEL using public sources provided by Red Hat. After AlmaLinux opted to shift their focus to remaining RHEL compatible, they first released bug and security flaw fixes ahead of Red Hat the next month with patches for Zenbleed. They started to differentiate themselves further from Red Hat with the AlmaLinux 8.10 and 9.4 releases in May 2023 by re-enabling hardware support that was disabled in RHEL's equivalent releases.
In October 2024 the AlmaLinux project announced AlmaLinux OS Kitten. "Earlier this year we started setting up infrastructure and the build pipeline for AlmaLinux OS 10, and started testing using CentOS Stream 10’s code. Based on this preparation work, we are excited to share that we have successfully built a preview of AlmaLinux OS 10 that we are calling AlmaLinux OS Kitten 10." Kitten 10's release also showed the additional features that AlmaLinux was adding for its community, including KVM support for IBM POWER and SPICE support.
In December AlmaLinux announced the AlmaLinux OS 10 beta, which included all of those features, but was different from Kitten, as it follows Red Hat's software versions, instead of CentOS Stream. "The astute AlmaLinux user will notice that some of the software versions in AlmaLinux OS Kitten 10 are newer than what you will find in the AlmaLinux 10 beta release. That is because Kitten is based on CentOS Stream, and AlmaLinux 10 follows Red Hat 10’s release versions. It should not be anticipated that Kitten is or will be exactly what will be provided in the BETA version."

## Releases

| AlmaLinux version | Codename | Architectures | RHEL base | Kernel | AlmaLinux release date | RHEL release date | Delay (days) |
| scope="row" class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="8.3" | Old version, not maintained: 8.3 | Purple Manul | x86-64 | 8.3 | 4.18.0-240 | 2021-03-30 | 2020-11-03 | 147 / 110 |
| scope="row" class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="8.4" | Old version, not maintained: 8.4 | Electric Cheetah | x86-64, ARM64 | 8.4 | 4.18.0-305 | 2021-05-26 | 2021-05-18 | 8 |
| scope="row" class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="8.5" | Old version, not maintained: 8.5 | Arctic Sphynx | x86-64, ARM64, ppc64le | 8.5 | 4.18.0-348 | 2021-11-12, 2022-02-25 | 2021-11-09 | 3 |
| scope="row" class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="8.6" | Old version, not maintained: 8.6 | Sky Tiger | x86-64, ARM64, ppc64le, s390x | 8.6 | 4.18.0-372 | 2022-05-12 | 2022-05-10 | 2 |
| scope="row" class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="8.7" | Old version, not maintained: 8.7 | Stone Smilodon | x86-64, ARM64, ppc64le, s390x | 8.7 | 4.18.0-425 | 2022-11-10 | 2022-11-09 | 1 |
| scope="row" class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="8.8" | Old version, not maintained: 8.8 | Sapphire Caracal | x86-64, ARM64, ppc64le, s390x | 8.8 | 4.18.0-477 | 2023-05-18 | 2023-05-16 | 1 |
| scope="row" class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="8.9" | Old version, not maintained: 8.9 | Midnight Oncilla | x86-64, ARM64, ppc64le, s390x | 8.9 | 4.18.0-513.5.1 | 2023-11-21 | 2023-11-14 | 7 |
| scope="row" class="templateVersion co swatch-maintained" style="color: var(--color-base, #202122); " title="Old version, still maintained" data-sort-value="8.10" | Old version, still maintained: 8.10 | Cerulean Leopard | x86-64, ARM64, ppc64le, s390x | 8.10 | 4.18.0-553 | 2024-05-28 | 2024-05-22 | 6 |
| scope="row" class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="9.0" | Old version, not maintained: 9.0 | Emerald Puma | x86-64, ARM64, ppc64le, s390x | 9.0 | 5.14.0-70.13.1 | 2022-05-26 | 2022-05-17 | 9 |
| scope="row" class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="9.1" | Old version, not maintained: 9.1 | Lime Lynx | x86-64, ARM64, ppc64le, s390x | 9.1 | 5.14.0-162.6.1 | 2022-11-17 | 2022-11-15 | 2 |
| scope="row" class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="9.2" | Old version, not maintained: 9.2 | Turquoise Kodkod | x86-64, ARM64, ppc64le, s390x | 9.2 | 5.14.0-284.11.1 | 2023-05-10 | 2023-05-10 | 0 |
| scope="row" class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="9.3" | Old version, not maintained: 9.3 | Shamrock Pampas Cat | x86-64, ARM64, ppc64le, s390x | 9.3 | 5.14.0-362.8.1 | 2023-11-13 | 2023-11-07 | 6 |
| scope="row" class="templateVersion co swatch-unsupported" style="color: var(--color-base, #202122); " title="Old version, not maintained" data-sort-value="9.4" | Old version, not maintained: 9.4 | Seafoam Ocelot | x86-64, ARM64, ppc64le, s390x | 9.4 | 5.14.0-427.13.1 | 2024-05-06 | 2024-04-30 | 6 |
| scope="row" class="templateVersion c swatch-latest" style="color: var(--color-base, #202122); " title="Latest version" data-sort-value="9.5" | Latest version: 9.5 | Teal Serval | x86-64, ARM64, ppc64le, s390x | 9.5 | 5.14.0-503.11.1 | 2024-11-18 | 2024-11-13 | 5 |
| Legend:Old version, not maintainedOld version, still maintainedLatest versionLatest preview versionFuture version ||||||||