Rocky Linux или AlmaLinux: что выбрать для VPS
Сравнение Rocky Linux и AlmaLinux для сервера. Узнайте, почему поддержка старых процессоров и ABI-совместимость являются ключевыми факторами при выборе дистрибутива для VPS.
Rocky Linux против AlmaLinux: краткий ответ
Для большинства серверов выбор между Rocky Linux и AlmaLinux не имеет значения. Оба проекта собирают одни и те же исходные коды Red Hat Enterprise Linux (RHEL), поэтому они выпускают идентичные пакеты с одинаковым десятилетним циклом поддержки. Различия существуют, но они касаются управления и редких частных случаев, а не повседневной эксплуатации сервера.
Есть два фактора, которые определяют выбор, если вы не хотите полагаться на случай. AlmaLinux 10 по-прежнему поддерживает сборки для процессоров старше Intel Haswell, в то время как Rocky Linux 10 — нет; это важно для недорогого или устаревшего оборудования VPS (virtual private server). Кроме того, AlmaLinux гарантирует ABI-совместимость, а не идентичность поведения, что критично при использовании стороннего ПО со строгой матрицей поддержки.
Происхождение обоих дистрибутивов
8 декабря 2020 года проект CentOS объявил, что поддержка CentOS Linux 8, являвшегося пересборкой RHEL 8, завершится в конце 2021 года. Изначально для него была заявлена дата окончания поддержки в 2029 году. Будущим проекта стал CentOS Stream, который в том же анонсе описывался как дистрибутив, опережающий текущий релиз RHEL и служащий веткой разработки для RHEL. CentOS Linux 7 сохранил свой первоначальный график и достиг конца жизненного цикла 30 июня 2024 года.
Проблема заключалась не в самом CentOS Stream. Проблема была в том, что жизненный цикл, заканчивавшийся в 2029 году, был сокращен на восемь лет с уведомлением всего за год для уже установленных систем. Именно поэтому появились Rocky Linux и AlmaLinux. Оба проекта возникли в 2021 году и преследовали одну и ту же цель: создание бесплатной пересборки RHEL, которую администратор мог бы установить и использовать в течение десятилетия. Причины, по которым CentOS изначально выполнял эту роль, а также история того, как один Red Hat Linux превратился в Fedora, RHEL и цепочку пересборок, подробно описаны в более полной истории Red Hat, CentOS, Rocky и AlmaLinux.
Общие черты Rocky Linux и AlmaLinux
Начните отсюда, так как общие черты составляют большую часть картины. Оба дистрибутива собираются из одних и тех же исходных кодов RHEL, поэтому оба предоставляют одинаковые версии пакетов, одинаковый менеджер пакетов dnf, одинаковые политики SELinux (Security Enhanced Linux), одинаковый интерфейс firewalld и одинаковую структуру юнитов systemd. Файлы конфигурации находятся по одним и тем же путям. Руководство, написанное для одного дистрибутива, подходит для другого с поправкой на название. Это справедливо и для реальных задач: установка Docker Engine выполняется одинаково на обоих, вплоть до пакета podman, который занимает команду docker, и перемаркировки SELinux, необходимой для bind mounts. Межсетевой экран также ведет себя одинаково, поэтому открытие SSH и веб-порта через firewalld использует идентичные команды firewall-cmd в обоих дистрибутивах, включая флаг --permanent, который определяет, сохранится ли правило после перезагрузки.
Оба проекта внимательно отслеживают минорные релизы RHEL. AlmaLinux 10.2 вышел 26 мая 2026 года, а Rocky Linux 10.2 — 28 мая 2026 года. Девятая серия обновилась на той же неделе: AlmaLinux 9.8 — 26 мая 2026 года, а Rocky Linux 9.8 — 27 мая 2026 года. Ранее разрыв был больше. AlmaLinux 10.0 вышел 27 мая 2025 года, а Rocky Linux 10.0 — 11 июня 2025 года.
Разрыв связан с выпуском образов минорных релизов, а не с безопасностью. Оба проекта непрерывно публикуют errata между минорными релизами, каждый через собственный сервис errata. Разница в две недели между появлением образа .2 не означает, что в течение двух недель не выпускались исправления. Получение этих errata без входа в систему выполняется одинаково в обоих дистрибутивах, поэтому настройка dnf-automatic для установки обновлений безопасности по расписанию выполняется одинаково независимо от того, какой дистрибутив вы установили. Установка исправления не равна его применению, а определение обновлений, для которых требуется перезагрузка, и обновлений, для которых достаточно перезапустить сервис использует одну и ту же команду needs-restarting в обоих дистрибутивах, поскольку оба наследуют её из одного пакета RHEL.
Оба дистрибутива также поддерживают десятилетний жизненный цикл, унаследованный от RHEL: примерно пять лет активной поддержки, затем пять лет обслуживания только в части безопасности. Десятая серия в обоих случаях поддерживается до 2035 года.
Кто стоит за каждым проектом?
Rocky Linux принадлежит Rocky Enterprise Software Foundation (RESF), корпорации общественного блага штата Делавэр, созданной Грегори Курцером, сооснователем CentOS. В ноябре 2022 года RESF ратифицировала устав и хартию, которые передали управление из рук основателя в рамки этой структуры. CIQ, компания, также основанная Курцером, является спонсором-учредителем и продает коммерческую поддержку для Rocky Linux.
AlmaLinux принадлежит AlmaLinux OS Foundation, некоммерческой организации типа 501(c)(6), зарегистрированной в Делавэре и основанной в марте 2021 года. Совет директоров избирается членами фонда на четырехлетние сроки с ротацией, протоколы заседаний публикуются в течение четырнадцати дней, а устав запрещает одному работодателю занимать более одного места в совете с правом голоса, независимо от объема спонсорской помощи. CloudLinux запустила этот проект и в октябре 2024 года возобновила платиновое спонсорство на сумму один миллион долларов в год. Ее подразделение TuxCare продает коммерческую поддержку.
Обе структуры были созданы так, чтобы ни одна компания не смогла повторить ситуацию с CentOS Linux 8, и ни одна из них не является заведомо более безопасной, чем другая. То, что вы действительно можете проверить, в обоих случаях одинаково: вы можете прочитать устав и назвать организацию, которая оплачивает счета.
Что изменилось в 2023 году и актуально ли это сейчас?
21 июня 2023 года компания Red Hat объявила, что CentOS Stream станет единственным репозиторием для публичных релизов исходного кода, связанных с RHEL. До этого исходные коды пакетов RHEL публиковались на git.centos.org, откуда их забирали проекты для пересборки. Отключение этого источника не остановило процесс пересборки. Однако это вынудило каждый проект публично заявить, каким образом он будет получать исходные коды.
Проект Rocky ответил 29 июня 2023 года. Он получает исходные коды RHEL из образов контейнеров Universal Base Image (UBI) и из облачных инстансов с оплатой по факту использования, основываясь на принципе, что «никто не может запретить распространение программного обеспечения под лицензией GPL». В августе 2023 года компании CIQ, Oracle и SUSE создали ассоциацию Open Enterprise Linux Association (OpenELA), которая публикует исходные коды, необходимые для создания дистрибутива Enterprise Linux, совместимого с RHEL на уровне исправления ошибок (bug-for-bug). AlmaLinux не является членом этой ассоциации.
Проект AlmaLinux ответил 13 июля 2023 года, и этот ответ ознаменовал изменение целей проекта. Проект отказался от полной совместимости на уровне исправления ошибок (1:1 bug-for-bug) в пользу совместимости на уровне ABI. По словам представителей проекта, «мы больше не будем придерживаться жесткой совместимости с Red Hat на уровне исправления ошибок, что означает возможность принятия исправлений вне цикла релизов Red Hat». В той же публикации пользователям сообщили, что в повседневной работе стоит ожидать «минимальных изменений».
Спустя три года вопрос получения исходных кодов решен на практике. С тех пор оба проекта выпустили все минорные релизы RHEL, придерживаясь схожих графиков. То, что осталось после дискуссий — это разница в обязательствах, которые берет на себя каждый из проектов.
Совместимость «баг в баг» или ABI-совместимость: в чем разница?
На главной странице Rocky Linux дистрибутив по-прежнему описывается как созданный для обеспечения 100% совместимости «баг в баг» с RHEL. Совместимость «баг в баг» означает, что пересборка воспроизводит поведение RHEL, включая его дефекты. Если в пакете RHEL есть ошибка, то в аналогичном пакете Rocky Linux она также присутствует, поэтому обходное решение из базы знаний Red Hat применимо без каких-либо изменений.
ABI-совместимость — понятие более узкое и точное. ABI (application binary interface) — это двоичный контракт, от которого зависит скомпилированная программа: имена символов, структура размещения данных, соглашения о вызовах и версии библиотек. Если этот контракт остается неизменным, то бинарный файл, собранный для RHEL, загружается и работает. Это обещание ничего не говорит о соответствии ошибкам RHEL.
Последствия легко сформулировать. AlmaLinux может исправить ошибку раньше, чем это сделает Red Hat, и может сохранить драйвер, который Red Hat удалила. Оба этих действия намеренно отдаляют поведение системы от RHEL. Rocky Linux, согласно замыслу, не делает ни того, ни другого, поэтому он остается предсказуемым именно в том аспекте, который важен для сертификации.
Таким образом, вопрос заключается в том, какое именно обещание вам нужно. Требуется ли вам, чтобы сервер вел себя идентично RHEL, или вам нужно, чтобы на нем работало программное обеспечение, собранное для RHEL? Почти всем нужно второе.
Будут ли пакеты поставщика, собранные для RHEL, устанавливаться на обе системы?
Да. RPM-пакет, собранный для RHEL 9 или RHEL 10, устанавливается и работает на обеих системах, так как ABI совпадает, а обе дистрибутива представляются инструментам как системы семейства Red Hat. Файл, который отвечает за это представление — /etc/os-release.
NAME="AlmaLinux"
ID="almalinux"
ID_LIKE="rhel centos fedora"Копия в Rocky Linux имеет ту же структуру с NAME="Rocky Linux" и ID="rocky", а также содержит rhel в ID_LIKE. Скрипт установки, который считывает ID_LIKE, находит rhel и выбирает путь Red Hat, работает на обеих системах. Скрипт, который лишь сравнивает ID с жестко заданным списком rhel, centos и fedora, не сработает ни на одной из них, причем одинаково — с сообщением о неподдерживаемом дистрибутиве. Это ошибка в самом скрипте, а не различие между двумя системами.
Реальное исключение носит скорее коммерческий, чем технический характер. Матрица поддержки — это бизнес-документ. Пакет поставщика может идеально устанавливаться и работать на дистрибутиве, который не указан в матрице, но поставщик все равно может отказать вам в помощи при возникновении сбоев. Если вы платите за поддержку, изучите матрицу и позвольте ей сделать выбор за вас. Это единственный случай, когда решение принимается не вами.
Какие дистрибутивы работают на старых процессорах?
В RHEL 10 минимальные требования к микроархитектуре x86-64 были повышены до уровня x86-64-v3. Этот уровень соответствует поколению Intel Haswell и AMD Excavator и требует наличия расширений набора инструкций, таких как AVX2. Rocky Linux 10 следует этому решению RHEL. В документации указано, что x86-64-v3 является базовым уровнем, а поддержка v2 и более ранних версий прекращена.
AlmaLinux 10 поставляется со сборкой v3 по умолчанию, но также предлагает отдельную сборку x86-64-v2. По заявлению разработчиков, это сделано для того, чтобы пользователи старого оборудования могли получать обновления безопасности в течение следующих десяти лет. AlmaLinux также пересобирает пакеты EPEL для этой архитектуры, так как сторонние пакеты для RHEL 10 ориентированы на v3. Это важный нюанс: сборка v2 подходит для стандартного набора пакетов и собственного репозитория AlmaLinux v2 EPEL, однако любой другой сторонний софт вам придётся пересобирать под v2 самостоятельно.
На VPS это имеет большее значение, чем на собственном оборудовании, так как вы не выбираете процессор хоста. На старых или бюджетных хостах, а также в случаях, когда гипервизор предоставляет гостевой системе консервативную модель CPU, виртуальная машина может не отображать поддержку AVX2, даже если физический чип её имеет. В результате пакеты, собранные для v3, будут обращаться к отсутствующим инструкциям и завершаться с ошибкой. Проверьте, какие возможности реально доступны вашему инстансу, прежде чем переводить на 10-ю серию весь парк серверов. 9-я серия обоих дистрибутивов по-прежнему работает на уровне v2. В случае с ARM-инстансами, а не x86-инстансами этот вопрос не возникает, так как уровни микроархитектуры — это концепция исключительно для x86-64.
Такая же гибкость проявляется и в других аспектах AlmaLinux 10. Проект вернул поддержку более 150 устройств, удалённых в апстриме, включая PCI ID для старых RAID- и iSCSI-контроллеров, а также восстановил поддержку SPICE для использования на сервере и клиенте. Указатели кадров (frame pointers) включены по умолчанию, что обеспечивает работу профилирования всей системы. Обещание «баг в баг» запрещает любые подобные изменения, поэтому именно решение 2023 года позволило реализовать эти улучшения.
Как выполнить миграцию существующего сервера CentOS или RHEL?
Rocky Linux публикует скрипты для конвертации в репозитории rocky-tools. migrate2rocky.sh преобразует систему Enterprise Linux 8 в Rocky Linux 8, а migrate2rocky9.sh выполняет аналогичную задачу для версии 9. Каждый из них работает только в рамках одной мажорной версии. По состоянию на август 2026 года в репозитории нет аналогичного скрипта для Enterprise Linux 10, поэтому переход на Rocky Linux 10 требует переустановки.
AlmaLinux публикует almalinux-deploy.sh, который поддерживает Enterprise Linux 8, 9 и 10 и позволяет выполнить конвертацию из CentOS Stream, Oracle Linux, RHEL, Rocky Linux, MiracleLinux и Virtuozzo Linux для архитектур x86_64, aarch64, ppc64le и s390x. Перед началом работы стоит ознакомиться с описанными ограничениями. Поддерживается только загрузчик GRUB2, если система в нём нуждается, а кастомные ядра, такие как UEK (unbreakable enterprise kernel) от Oracle, не удаляются автоматически, что делает невозможной загрузку системы с включенным Secure Boot.
Для перехода между мажорными версиями AlmaLinux поддерживает проект ELevate, построенный на базе фреймворка leapp от Red Hat. Документированные пути миграции: CentOS 7 в EL8, AlmaLinux 8 или CentOS Stream 8 в EL9, а также AlmaLinux 9 или CentOS Stream 9 в EL10. В документации целевая система обозначается как EL8, EL9 или EL10, а не как конкретный дистрибутив, поскольку вы сами выбираете, на какой версии Enterprise Linux остановиться.
Любой из этих инструментов перезаписывает пакеты релиза и переустанавливает значительную часть системы. Сначала сделайте снапшот на стороне провайдера. Запускайте конвертацию внутри screen или tmux, как советует документация AlmaLinux, поскольку разрыв SSH-соединения в процессе оставит машину в состоянии, которое вы не захотите отлаживать через rescue console.
Что же выбрать?
Для типичной нагрузки на VPS подойдет любой из них. Они устанавливают одинаковые пакеты, и срок их поддержки заканчивается в одном и том же году. Выберите один, используйте его на всех своих серверах и не тратьте время на раздумья. Согласованность важнее различий между ними, так как разнородный парк серверов удваивает количество образов и лент обновлений безопасности, за которыми нужно следить. Эти издержки быстро растут, как только вы начинаете управлять несколькими серверами Linux одновременно.
Исключения редки, и каждое из них определяется внешними факторами, а не вашими предпочтениями.
- Ваш процессор старше Haswell или гипервизор скрывает AVX2 от гостевой системы. AlmaLinux 10 имеет сборку x86-64-v2. Rocky Linux 10 — нет.
- Поставщик услуг, которому вы платите, указывает в матрице поддержки конкретный дистрибутив. Используйте именно его.
- Вам требуется поведение, идентичное RHEL, для сертификации или аудита. Заявленная цель Rocky Linux — полная совместимость (bug-for-bug), в то время как AlmaLinux официально ставит перед собой иные задачи.
- Вы конвертируете уже работающий сервер, а не разворачиваете новый. Инструментарий AlmaLinux в настоящее время поддерживает больше исходных дистрибутивов и мажорных версий, включая Enterprise Linux 10.
Если же вопрос стоит в выборе между Enterprise Linux и чем-то другим, то вы выбираете модель жизненного цикла. Дистрибутив Enterprise Linux предоставляет десять лет работы на одном наборе пакетов без необходимости планировать скачки версий. Релизы Ubuntu с долгосрочной поддержкой (LTS) дают пять лет стандартной поддержки с предусмотренным путем обновления каждые два года — это другие условия, которые подробно разобраны в сравнении Ubuntu LTS и промежуточных релизов. Что бы вы ни установили, первый час работы с машиной будет выглядеть одинаково, поэтому выполните действия из руководства первые десять минут на новом VPS, прежде чем размещать на нем какие-либо сервисы.
FAQ
Что ближе к Red Hat Enterprise Linux: Rocky Linux или AlmaLinux?
Rocky Linux, согласно заявленным целям проекта. На главной странице дистрибутив описывается как полностью совместимый с RHEL на уровне ошибок (bug-for-bug compatible), что означает стремление воспроизвести поведение RHEL, включая его недостатки. AlmaLinux 13 июля 2023 года объявил о переходе к обеспечению совместимости на уровне ABI (application binary interface). Это позволяет запускать ПО, собранное для RHEL, при этом в коде могут присутствовать исправления, которые ещё не были выпущены в RHEL. Для запуска стандартного серверного ПО оба дистрибутива равнозначны. Однако для сертификации, требующей строгого соответствия поведению RHEL, это различие является ключевым.
Можно ли перейти с Rocky Linux на AlmaLinux без переустановки?
Да, в этом направлении переход возможен. В almalinux-deploy.sh от AlmaLinux в качестве поддерживаемых источников указаны Rocky Linux 8, 9 и 10, а также CentOS Stream, Oracle Linux, RHEL и MiracleLinux. Обратный процесс более ограничен: репозиторий rocky-tools от Rocky содержит скрипты конвертации только для Enterprise Linux 8 и 9, поэтому по состоянию на август 2026 года прямого пути обновления до Rocky Linux 10 не существует. Перед конвертацией сделайте снапшот и выполняйте процесс в сессии, которая не прервётся при разрыве соединения, так как процедура заменяет пакеты релиза и переустанавливает значительную часть системы.
Работают ли пакеты, собранные для RHEL, на обоих дистрибутивах?
Да, это касается обычных RPM-пакетов и сторонних репозиториев. Оба дистрибутива сохраняют ABI от RHEL и идентифицируют себя через ID_LIKE="rhel centos fedora" в файле /etc/os-release, поэтому пакеты или скрипты установки, проверяющие принадлежность к семейству Red Hat, корректно распознают систему. Исключение носит скорее коммерческий, чем технический характер: поставщик ПО может поддерживать только те дистрибутивы, которые указаны в его матрице поддержки, даже если пакет успешно устанавливается и работает на обоих. Если вы оплачиваете техническую поддержку, ориентируйтесь на эту матрицу.
Что выбрать для недорогого VPS со старым процессором?
AlmaLinux, если вам нужна 10-я серия. RHEL 10 поднял минимальные требования для архитектуры x86-64 до уровня v3, что требует процессоров уровня Intel Haswell или AMD Excavator; Rocky Linux 10 придерживается этого же стандарта. AlmaLinux 10 поставляет дополнительную сборку x86-64-v2 для старого оборудования с десятилетней поддержкой обновлений безопасности. Перед установкой проверьте, какой процессор видит ваша инстанция, так как виртуальная машина отображает модель CPU, предоставленную гипервизором, и не всегда открывает полный набор инструкций хоста. 9-я серия обоих дистрибутивов по-прежнему работает на оборудовании v2.