Как AlmaLinux сохраняет совместимость с Red Hat Enterprise Linux без кода Red Hat
Это непросто, но можно сделать, в основном используя кодовую базу CentOS Stream.
РЭЛИ, Северная Каролина — AlmaLinux создает Red Hat Enterprise Linux (RHEL) без какого-либо кода RHEL. Как дела, спросите вы? Бенни Васкес, председатель AlmaLinux OS Foundation, приехал на съезд сообщества открытого исходного кода All Things Open здесь, чтобы объяснить именно это.
Это стало проблемой, поскольку Red Hat недавно изменила правила использования кода RHEL в своих дистрибутивах Linux. Это изменение оставило дистрибутивы-клоны RHEL, такие как AlmaLinux, Rocky Linux и Oracle Linux, в затруднительном положении. В соответствии с новыми требованиями Red Hat разработчики больше не могли легко создавать RHEL-совместимые операционные системы.
Результат? Oracle раскритиковала Red Hat и пообещала поддерживать совместимость с RHEL. Rocky Enterprise Software Foundation будет использовать другие методы для получения кода RHEL. SUSE, которая не была клоном RHEL, заявила, что сделает форк RHEL (с некоторой помощью Rocky). Совсем недавно все трое из вышеперечисленных объединились в плане создания RHEL-совместимой кодовой базы Linux — репозитория исходного кода Open Enterprise Linux.
А что насчет AlmaLiniux? Он пошел другим путем. Вместо того, чтобы спорить с Red Hat о том, может ли дочерняя компания IBM ограничить использование своего кода RHEL, правление AlmaLinux OS Foundation, как писал Васкес, «решило отказаться от цели быть 1:1 с RHEL. Вместо этого AlmaLinux OS будет стремиться быть Совместимость с двоичным интерфейсом приложений (ABI).
Что это значит? AlmaLinux по-прежнему занимается клонированием RHEL: «Мы продолжим стремиться к созданию долгосрочного дистрибутива Linux корпоративного уровня, согласованного и ABI-совместимого с RHEL, в ответ на потребности нашего сообщества, насколько это возможно. сделать так, чтобы программное обеспечение, работающее на RHEL, работало так же и на AlmaLinux».
Это достаточно легко сказать, но как это сделать? AlmaLinux объяснила, что будет использовать исходный код CentOS Stream, который Red Hat продолжает предлагать всем и каждому. Это также база кода, которую Red Hat использует для создания RHEL.
Как именно это будет работать? Именно это Васкес и пришел объяснить в All Things Open. AlmaLinux, как и RHEL, теперь во многом основан на CentOS Stream. Дополнительный код взят из универсальных базовых образов Red Hat и исходного кода Linux.
Васкес добавил: «Из всех пакетов 99% по-прежнему смотрят именно на RHEL». Из той незначительной доли, которая этого не делает, «около 24% этих пакетов требуют исправления вручную».
Самая сложная часть — это обновления ядра Linux от Red Hat, потому что, добавил Васкес, «вы не можете получить эти обновления ядра, не нарушая лицензионных соглашений Red Hat». Поэтому она продолжила: «Что мы делаем, так это извлекаем исправления безопасности из различных других источников и, по крайней мере, можем найти их, когда Oracle их выпустит».
Васкес отметил одно преимущество этого изменения в производстве: «AlmaLinux, больше не привязанный к выпускам Red Hat, смог выпускать исправления безопасности для исходных версий быстрее, чем Red Hat». Например, эксплойты микрокода AMD были исправлены до Red Hat, потому что они потребовалось немного дополнительного времени, чтобы выйти за дверь. Затем мы приехали, провели тестирование и выехали примерно на неделю раньше них».
Общей целью остается сохранение совместимости с RHEL. «Любые критические изменения между RHEL и AlmaLinux, любое приложение, которое перестает работать, является ошибкой и должно быть исправлено».
Это не значит, что AlmaLinux в будущем станет просто отличным клоном RHEL. Он планирует добавить свои собственные функции. Например, пользователи Red Hat, которым нужны программы, не входящие в состав RHEL, часто обращаются к дополнительным пакетам для Enterprise Linux (EPEL). Обычно это программы, включенные в Fedora Linux. Помимо поддержки программного обеспечения EPEL, у AlmaLinux есть собственный дополнительный пакет программного обеспечения под названием Synergy , в котором содержатся программы, которые нужны сообществу AlmaLinux, но недоступны ни в EPEL, ни в RHEL. Если одна такая программа впоследствии добавляется в EPEL или RHEL, AlmaLinux удаляет ее из Synergy, чтобы предотвратить путаницу и дублирование усилий.
Для AlmaLinux этот путь был нелегким. Даже разница в коде в 1% — это слишком сложно писать и поддерживать. Например, когда AlmaLinux попыталась исправить код CentOS Stream, чтобы устранить проблему, Red Hat была совершенно недовольна попыткой AlmaLinux исправить дыру в безопасности. Васкес признал, что поначалу это было непросто, но отметил: «Хорошая новость заключается в том, что они совершенствуют процесс, и все будет выглядеть немного более гладко».
AlmaLinux, отметила она, также не столько обеспокоена, сколько осознает, что Red Hat может помешать их усилиям. Васкес добавил: «Внутренне мы работаем над временными мерами, которые нам нужно будет сделать, чтобы предвидеть, что Red Hat ужасно все изменит». Она не думает, что Red Hat на это пойдет, но «мы хотим быть максимально подготовленными».
Забегая вперед, Васкес заявил, что AlmaLinux готовится выпустить бета-версии AlmaLinux 8,9 и 9.3, которые появятся вскоре после появления RHEL 8.9 и 9.3. Пока с их развитием все идет хорошо.
Поскольку все эти операционные системы должны выйти в течение нескольких недель, мы скоро увидим, насколько хорошо AlmaLinux справился со своим дружественным подходом к клонированию RHEL.