AlmaLinux

**AlmaLinux**は、AlmaLinux OS Foundationによって開発されている、FOSSのLinuxディストリビューションである。501(c)団体である同財団が、コミュニティ主導で本番環境向けのエンタープライズオペレーティングシステムを提供するために開発しており、Red Hat Enterprise Linux（RHEL）とを持つ。ディストリビューション名はスペイン語や他のラテン系言語で「魂」を意味する「alma」に由来しており、Linuxコミュニティへの敬意を表するために選ばれた。

AlmaLinuxの最初の安定版リリースは2021年3月30日に公開され、2029年3月1日までサポートされる予定である。AlmaLinuxは、AlmaLinux Build System（ALBS）と呼ばれるカスタマイズされたビルドシステムを用いて、公開され再現可能な手法でビルドされており、そのソースコードもディストリビューション本体と同様に公開され、オープンソースライセンスの下で配布されている。

## 歴史
2020年12月8日、レッドハットは、商用のRed Hat Enterprise Linux (RHEL) の無償ダウンストリームフォークであるCentOSの開発を中止、その公式サポートを早期に打ち切り、CentOS Streamに注力することを発表した。CentOS Streamはマイナーリリースのない安定したLTSリリースであり、RHELへのアップデートに含める予定の内容を事前に公開するためにRed Hatが公式に使用していた。

これに対し、独自の商用LinuxディストリビューションであるCloudLinux OSを開発しているCloudLinuxは、CentOS Linuxのコミュニティによる精神的後継としてAlmaLinuxを支援することを発表し、RHELの現行バージョンとのを目指した。AlmaLinuxのベータ版は2021年2月1日に初めてリリースされ、最初の安定版は2021年3月30日に公開された。AlmaLinux 8.xは2029年までサポートされる予定である。ARM、AWS、エクイニクス、マイクロソフトなど多数の企業もAlmaLinuxを支持している。2021年3月30日、CloudLinuxからAlmaLinuxの開発とガバナンスを引き継ぐため、AlmaLinux OS Foundationが501(c)団体として設立され、CloudLinuxはこのプロジェクトに対して年間100万ドルの資金提供を約束した。

2022年6月20日、AlmaLinux 8.6のリリースに続いて、AlmaLinux OS FoundationはAlmaLinux Build System (ALBS) をリリースした。

2022年9月、AlmaLinux OS Foundationは初の選挙を実施し、9月19日にはコミュニティにより選出された7人の理事を発表した。選挙の直後、CloudLinuxのCEOで当時理事長であったイゴール・セレツキーが、AlmaLinuxをコミュニティ主導のオペレーティングシステムとして継続させるために辞任することを発表し、理事会は新たな理事長としてベニー・バスケスを選出した。

2022年12月7日、CERNとフェルミ国立加速器研究所が、実験における標準オペレーティングシステムとしてAlmaLinuxを提供することが発表された。

2023年5月22日、日本発のLinuxディストリビューションであるMIRACLE LINUXは、AlmaLinuxへの参画及びCloudLinuxとの協業を発表した。そして、サイバートラストが開発するMIRACLE LINUXは次期バージョン（つまり10）からAlma Linuxに合流する方向性も明らかにした。2023年5月時点で、サイバートラストでMIRACLE LINUXの開発を行っているエンジニアはAlma Linuxの開発者コミュニティーに参加している。

2023年6月21日にRed Hatがコードに新たな制限を加えることを発表してから3週間後、AlmaLinuxはブログ投稿にて、AlmaLinux OS Foundationの理事会はRHELとの1:1互換という目標を放棄し、代わりにRHELとバイナリ互換を目指すことを発表した。

2023年9月、同財団は理事会を拡大することを発表した。同年12月にはAlmaLinux OS Foundationが2回目の選挙を実施し、CERNのアレハンドロ・イリバレンとサイバートラストの吉田淳が理事会に加わることを発表した。

## プロジェクトELevate
2021年9月、AlmaLinuxプロジェクトは、エンタープライズLinuxディストリビューションのメジャーバージョン間でインプレースアップグレードを可能にするツール「ELevate」を発表した。ELevateはディストリビューションに依存しない方法で開発されており、AlmaLinuxだけでなくエコシステム全体のためのツールとして開発されている。ELevateは他のディストリビューションとの相互の移行をサポートしており、誰もが貢献し拡張できるよう開かれている。2024年1月にこのツールは追加のリポジトリのサポートを含むように拡張され、2024年4月にはCentOS 6からCentOS 7へのアップグレードをサポートするようになり、一部のユーザーがCentOS 6から任意のエンタープライズLinuxバージョン9へインプレースアップグレードできるようになった。

## ビルドシステム

AlmaLinux Build System（通称「ALBS」）は、AlmaLinuxのビルドシステムである。初めて使用されたのはバージョン8.6（Sky Tiger）のリリース時であり、x86-64、AArch64、ppc64、S390xアーキテクチャ向けのビルドを自動化する機能を備えている。ALBSは、Gitサービス、リリースシステム、署名サーバ、テストシステム、ビルドノードの5つのコンポーネントから構成される。これらの各コンポーネントは「マスターサービス」と呼ばれる包括的なコンポーネントによって管理されており、このマスターサービスは独自のAPIを介して制御されることを想定している。

### Gitサービス
AlmaLinuxのソースコードは、Red Hat Enterprise Linuxを構成するソフトウェアパッケージのGitリポジトリから直接取得される。既存リポジトリへの変更や新規リポジトリの追加を監視する「リスナー」を用いて、AlmaLinux Gitサービスはソースコードを独自の公開Giteaサーバインスタンスに取得する。この公開サーバのウェブインターフェースでは、各パッケージのビルドパイプラインも閲覧できる。さらに、このサービスはAPIを公開しており、他のALBSコンポーネントがリポジトリを直接利用できるようになっている。

### ビルドノード
マスターサービスと連携して、ビルドノードはGitリポジトリに保存されたソースコードをコンパイルし、ディストリビューションのインストールプロセスで使用できるRPMパッケージを生成する役割を担う。ビルドプロセスのアーティファクトとして生成されたこれらのパッケージは、さらに処理するために専用のストレージに保存される。

### テストシステム
AlmaLinux Test System（ALTS）は、ビルド成果物として存在するRPMパッケージをテストする。技術を用いて、各パッケージにはを実行できる専用の環境が与えられる。

### リリースシステムと署名サーバ
整合性を確保するため、AlmaLinuxディストリビューション向けにリリースされる各ソフトウェアパッケージは、Pretty Good Privacy（PGP）暗号アルゴリズムを用いて署名される。署名サーバは、ビルドノードで作成された成果物を受け取り、署名を行い、それを成果物ストレージに戻す。リリースシステムはそれらをリリースリポジトリにアップロードする。

## AlmaLinux OS KittenとAlmaLinuxビルドパイプライン

2023年6月にレッドハットがソースコードの公開方針を変更する以前、AlmaLinuxはレッドハットが提供する公開ソースを用いてRHELを再ビルドしていた。AlmaLinuxはRHEL互換を維持することに注力する方針へと転換した後、翌月にはZenbleed向けパッチを提供し、バグやセキュリティ欠陥の修正をレッドハットより先に公開した。さらに2023年5月には、RHELの同等リリースで無効化されていたハードウェアサポートを再有効化することで、AlmaLinux 8.10および9.4リリースにおいてレッドハットとの差別化をさらに進めた。

2024年10月、AlmaLinuxプロジェクトはAlmaLinux OS Kittenを発表した。「今年初め、我々はAlmaLinux OS 10向けにインフラとビルドパイプラインを整備し、CentOS Stream 10のコードを用いたテストを開始した。この準備作業に基づき、我々はAlmaLinux OS 10のプレビュー版のビルドに成功したことを共有できることに興奮している。このプレビュー版をAlmaLinux OS Kitten 10と呼んでいる。」 Kitten 10のリリースでは、IBM POWER向けのKVMサポートやサポートなど、AlmaLinuxがコミュニティ向けに追加している機能も示された。

12月、AlmaLinuxはAlmaLinux OS 10 betaを発表した。これはこれらの機能をすべて含んでいたが、CentOS Streamではなくレッドハットのソフトウェアバージョンに従っているため、Kittenとは異なるものであった。「注意深いAlmaLinuxユーザーは、AlmaLinux OS Kitten 10に含まれるソフトウェアのいくつかのバージョンが、AlmaLinux 10 betaリリースに含まれるものよりも新しいことに気付くだろう。これはKittenがCentOS Streamに基づいており、AlmaLinux 10がレッドハット10のリリースバージョンに従っているためである。KittenがBETA版で提供されるものとまったく同一である、あるいはそうなると予期すべきではない。」

## リリース
RHELのリリースの数日後にリリースされるケースが多い。

セキュリティサポート期限はバージョン8系が2029年5月1日、バージョン9系が2032年5月31日となっている。

## 関連項目

* Rocky Linux
* Fedora
* Oracle Linux

## 参考文献

## 外部リンク
* AlmaLinux
* AlmaLinux Blog
* AlmaLinux Announcement
* AlmaLinux Wiki
* AlmaLinux Reddit
* AlmaLinux Mirror list
* AlmaLinux Source Repository
* AlmaLinux Bug Tracking