AlmaLinux OS бета: разворачиваем первый RHEL-клон после смерти CentOS 8
CloudLinux выпустила AlmaLinux 8 beta - бинарно совместимый клон RHEL 8. Ставим стенд, сравниваем пакеты и смотрим на SELinux - первые впечатления инженеров.
CloudLinux выпускает AlmaLinux OS 8.3 Beta - первый публичный релиз бинарно совместимого клона RHEL 8, созданного как замена CentOS 8
В январе мы разбирали объявление Red Hat о смерти CentOS 8 и отмечали, что AlmaLinux тогда был только обещанием и репозиторием на GitHub. Прошло чуть больше двух недель - и CloudLinux выложил публичную бету. Мы её поставили.
Откуда берётся AlmaLinux
CloudLinux - компания не из воздуха. Они давно делают CloudLinux OS - это тоже RHEL-клон, но для shared-хостинга, с LVE, CageFS и другими изоляционными штуками. То есть люди умеют пересобирать RHEL-пакеты и поддерживать дистрибутив. AlmaLinux - это их ставка на более широкую аудиторию: обычный совместимый клон без хостинг-специфики, под некоммерческий фонд.
Бета вышла с версией 8.3 - это текущий минорный релиз RHEL 8 на момент выпуска. Не отстают от апстрима - уже хорошо.
Разворачиваем стенд
Взяли два идентичных виртуальных сервера: один с CentOS 8.3, второй - чистая установка AlmaLinux 8.3 Beta с официального ISO. Задача не нагрузочное тестирование - просто посмотреть на ощущения от дистрибутива и найти первые расхождения.
Установка прошла через знакомый Anaconda. Всё узнаваемо - те же разделы, те же группы пакетов. Единственное что сразу заметно - логотип и тема. Никаких сюрпризов, что само по себе хороший знак.
После старта - стандартный dnf repolist:
almalinux-appstream AlmaLinux 8 - AppStream
almalinux-baseos AlmaLinux 8 - BaseOS
almalinux-extras AlmaLinux 8 - Extras
almalinux-powertools AlmaLinux 8 - PowerTools
Имена репозиториев другие, структура та же. PowerTools на месте - это важно, потому что у клиентов часть зависимостей тянется оттуда.
Сравниваем пакеты
Прошлись по базовым вещам, которые реально используются в продакшне. Список неполный, но показательный:
- openssl, openssh, curl - версии совпадают с CentOS 8.3 до патч-версии.
- python3, python3-libs - аналогично, 3.6.8 как и в CentOS.
- systemd - 239, тот же что в RHEL 8.3 / CentOS 8.3.
- kernel - 4.18.0-240, совпадает. Важно для тех, кто привязан к конкретному ядру.
- dnf, rpm - ожидаемо идентичны.
Прошли по списку пакетов из нашего стандартного playbook для базовой настройки серверов - всё нашлось в тех же версиях. Никаких «пакет переименован» или «перенесён в другой репозиторий».
Один нюанс обнаружился с centos-release-* мета-пакетами - их, естественно, нет, они заменены на almalinux-release. Если в плейбуках есть жёсткая зависимость от centos-release-stream или centos-release-ansible - надо будет адаптировать.
SELinux: ведёт себя как родной
SELinux отдельно проверили потому, что это обычная точка боли при смене дистрибутива - политики могут немного расходиться и давать неожиданные AVC-отказы там, где раньше всё работало.
На AlmaLinux бете из коробки:
# sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinuxfs root: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
То же самое, что на CentOS 8. Политика targeted, enforcing по умолчанию. Прогнали несколько типичных сценариев - nginx на нестандартном порту, NFS-монтирование, запуск сервиса от нестандартного пользователя. Везде поведение совпало с CentOS 8: те же типы контекстов, те же утилиты (semanage, audit2allow, restorecon), те же AVC-сообщения при нарушениях. Ни одного расхождения в поведении за несколько часов тестирования.
Это, пожалуй, самый важный результат для нас - SELinux в продакшне это не то, где хочется сюрпризов.
Что настораживает
Это всё ещё бета. CloudLinux честно говорит: бета, не для продакшна. Нескольких вещей нет или они не ясны:
- Цикл поддержки - обещают до 2029 года как у RHEL 8, но это обещание фонда без долгой истории.
- Скорость патчей безопасности - насколько быстро будут выходить обновления после RHEL - станет понятно только в работе.
- Экосистема вокруг - EPEL под AlmaLinux работает (AlmaLinux объявлен поддерживаемой платформой), но часть вендорских репозиториев знает только
rhelиcentosв качестве идентификаторов платформы.
Последнее - реальная проблема в ближайшие месяцы. У одного из клиентов стоит проприетарный агент мониторинга, который смотрит на /etc/os-release и ищет centos в строке ID. На AlmaLinux там будет almalinux. Придётся либо ждать поддержки от вендора, либо городить обходы.
Первый вывод
За один вечер на стенде - AlmaLinux ведёт себя именно так, как и должен себя вести бинарный клон RHEL. Никаких очевидных расхождений с CentOS 8 по составу пакетов и поведению SELinux мы не нашли. Это хороший первый сигнал.
Рекомендовать его клиентам в managed-сопровождении прямо сейчас - рано. Бета есть бета. Но стенд мы оставим жить, будем следить за скоростью выхода обновлений и ждать стабильного релиза. Если всё пойдёт так, как выглядит сейчас - у нас будет рабочий путь миграции с CentOS 8, и не один: параллельно присматриваем за Rocky Linux, который тоже в процессе.