AlmaLinux — это бесплатный дистрибутив Linux с открытым исходным кодом , разработанный AlmaLinux OS Foundation, организацией 501(c) , для предоставления поддерживаемой сообществом операционной системы промышленного уровня корпоративного класса , которая двоично совместима с Red Hat Enterprise Linux (RHEL). Название дистрибутива происходит от слова «alma», что означает «душа» на испанском и других латинских языках. Он был выбран в знак уважения к сообществу Linux. [1]
Первая стабильная версия AlmaLinux была опубликована 30 марта 2021 года [2] и будет поддерживаться до 1 марта 2029 года [3]. AlmaLinux собирается с использованием общедоступных и воспроизводимых методов с использованием системы сборки AlmaLinux (ALBS), которая представляет собой настраиваемую систему сборки , исходный код которой, как и сам дистрибутив, распространяется публично и лицензируется по лицензиям с открытым исходным кодом .
8 декабря 2020 года Red Hat объявила, что разработка CentOS , бесплатной ответвления коммерческой Red Hat Enterprise Linux (RHEL), будет прекращена, а ее официальная поддержка будет сокращена, чтобы сосредоточиться на CentOS Stream, стабильном выпуске LTS без второстепенных выпусков, официально используемом Red Hat для предварительного просмотра того, что предназначено для включения в обновления RHEL. [4] [5] [6]
В ответ на это CloudLinux, которая поддерживает свой собственный коммерческий дистрибутив Linux, CloudLinux OS , объявила, что поддержит AlmaLinux, чтобы предоставить поддерживаемого сообществом духовного преемника CentOS Linux, [7] стремясь к двоичной совместимости с текущей версией RHEL. [8] Бета-версия AlmaLinux была впервые выпущена 1 февраля 2021 года, [9] а первый стабильный выпуск AlmaLinux был опубликован 30 марта 2021 года. [2] AlmaLinux 8.x будет поддерживаться до 2029 года. [10] Многочисленные компании, такие как ARM , AWS , Equinix и Microsoft , также поддерживают AlmaLinux. [11] 30 марта 2021 года был создан фонд AlmaLinux OS Foundation как организация 501(c), которая возьмет на себя разработку и управление AlmaLinux от CloudLinux, которая пообещала ежегодное финансирование проекта в размере 1 миллиона долларов США. [12]
После выпуска AlmaLinux 8.6, 20 июня 2022 года, AlmaLinux OS Foundation выпустила AlmaLinux Build System (ALBS). [13]
В сентябре 2022 года Фонд ОС AlmaLinux провел свои первые выборы [14] , объявив 19 сентября совет из 7 членов, избранных сообществом . [15] Вскоре после выборов Игорь Селецкий, генеральный директор CloudLinux и тогдашний председатель совета, объявил, что уходит в отставку, чтобы позволить AlmaLinux продолжить работу в качестве ведущей операционной системы сообщества, [16] и совет выбрал Бенни Васкеса новым председателем. [17]
7 декабря 2022 года было объявлено, что ЦЕРН и Фермилаб предоставят AlmaLinux в качестве стандартной операционной системы для своих экспериментов. [18]
Спустя 3 недели после 21 июня 2023 года, когда Red Hat объявила о введении новых ограничений на свой код, [19] Alma ответила в сообщении в блоге, что «совет AlmaLinux OS Foundation сегодня решил отказаться от цели достичь соответствия 1:1 с RHEL. Вместо этого AlmaLinux OS будет стремиться к двоичной совместимости с RHEL». [20]
В сентябре 2023 года Фонд объявил о расширении состава совета директоров [21] , а в декабре 2023 года Фонд ОС AlmaLinux провел вторые выборы и объявил, что Алехандро Ирибаррен из ЦЕРНа и Джун Ёсида из Cybertrust Japan войдут в состав совета директоров [22] .
В сентябре 2021 года проект AlmaLinux анонсировал инструмент под названием ELevate, который позволит выполнять обновления на месте между основными версиями корпоративных дистрибутивов Linux. [23] «ELevate разработан независим от дистрибутивов и создан как инструмент для всей экосистемы, а не только для AlmaLinux. ELevate поддерживает миграцию на/из других дистрибутивов и открыт для всех, чтобы вносить свой вклад и улучшать его». [24] В январе 2024 года они расширили инструмент, включив поддержку дополнительных репозиториев, [25] а в апреле 2024 года они добавили поддержку обновления с CentOS 6 до CentOS 7, что позволило некоторым выполнить обновление на месте с CentOS 6 через дистрибутив Enterprise Linux версии 9 по своему выбору. [26]
Система сборки AlmaLinux, обычно сокращенно называемая «ALBS», является системой сборки AlmaLinux. Впервые она была использована для выпуска версии 8.6 (Sky Tiger) и имеет возможность автоматизации сборок для архитектур x86-64 , AArch64 , ppc64 и S390x . ALBS состоит из пяти компонентов: Git Service, Release System, Sign Server, Test System, Build Node. Каждый компонент управляется всеобъемлющим компонентом, известным как «Master Service», который предназначен для управления через свой собственный API .
Исходный код AlmaLinux напрямую берется из репозиториев кода Git пакетов программного обеспечения , входящих в состав Red Hat Enterprise Linux. Используя «слушателя», который отслеживает изменения в существующих репозиториях или добавление новых репозиториев, служба AlmaLinux Git извлекает исходный код на свой собственный общедоступный экземпляр сервера Gitea . Веб-интерфейс этого публичного сервера также обеспечивает просмотр конвейеров сборки для каждого пакета. Кроме того, служба предоставляет API , который позволяет остальной части ALBS напрямую использовать репозитории.
Соответствуя Master Service, цель узла сборки заключается в выполнении компиляции исходного кода, хранящегося в репозиториях Git, для создания пакетов RPM , которые впоследствии могут быть использованы как часть процесса установки дистрибутива. Как артефакты процесса сборки, эти части имеют выделенное хранилище, из которого они могут быть дополнительно обработаны.
Тестовая система AlmaLinux (ALTS) тестирует пакеты RPM, которые существуют как артефакты сборки. Используя технологию контейнеризации , пакетам предоставляются выделенные среды, для которых можно выполнять тестовые наборы .
Для обеспечения целостности каждый программный пакет, выпущенный для дистрибутива AlmaLinux, имеет цифровую подпись с использованием криптографического алгоритма Pretty Good Privacy (PGP). Sign Server просто берет артефакты, созданные в Build Node, подписывает их и возвращает обратно в хранилище артефактов. Оттуда Release System может загружать их в репозитории релизов.