Назад

2025/04/21

1. Используете ли вы Oracle Linux? (Часть 1)

Знаете ли вы об Oracle Linux? Oracle Linux — это дистрибутив, совместимый с Red Hat Enterprise Linux (RHEL), разработанный корпорацией Oracle. Первая версия была выпущена в 2006 году, и сейчас он используется в инженерных системах, таких как Exadata, а также в Oracle Cloud Infrastructure и Oracle Linux KVM.

В прошлом пользователи были ограничены тем, что Oracle, компания по разработке корпоративного ПО, занималась его разработкой. Однако ситуация изменилась после объявления 12 декабря 2020 года о прекращении разработки CentOS.
(Официальное объявление проекта CentOS «Проект CentOS переходит к CentOS Stream»). Другие дистрибутивы, совместимые с RHEL, которые заменят CentOS, привлекли большое внимание. Один из них — Oracle Linux.

В этой статье мы объясним особенности Oracle Linux и чем он отличается от RHEL и CentOS.

Что такое дистрибутив Linux?

Прежде чем перейти к основной теме, давайте поговорим о дистрибутивах Linux. Изначально Linux обозначал только ядро.
Однако обычные пользователи не могут использовать Linux только с ядром Linux. Поэтому, помимо необходимых библиотек и инструментов, таких как glibc, coreutils, драйверы устройств и оболочки, инсталлятор, компилятор и каждое программное обеспечение объединяются, чтобы создать «дистрибутив Linux», который удобен для всех.

Важно здесь не просто объединить элементы, а предварительно проверить, что каждое программное обеспечение работает корректно. Дистрибутив Linux содержит ПО с открытым исходным кодом. Поэтому разработчики разные, и среда разработки, естественно, тоже отличается. Исходный код может не компилироваться, или он может компилироваться, но работать некорректно. Разработчики дистрибутива Linux исправляют эти аспекты, чтобы они работали правильно.

Еще одна важная вещь — это система управления пакетами. В ранние дни Linux используемое ПО собиралось из исходного кода каждый раз. В этом случае установка не только сложна, но и обновление или удаление затруднительны.
Это привело к появлению пакетов, таких как RPM и deb.

Ознакомьтесь с таблицей ниже. Основные дистрибутивы включают «дистрибутивы на основе Red Hat», использующие RPM, и «дистрибутивы на основе Debian», использующие deb. В японском бизнесе обычно используется один из этих двух типов. Также есть SUSE Linux, который широко используется в Европе.

Формат пакета Дистрибутив Инструменты управления пакетами
RPM Тип Red Hat (RHEL, Fedora, CentOS, CentOS Stream, Oracle Linux, Amazon Linux) RPM, yum, dnf
deb Серия Debian (Debian, Ubuntu) apt, dpkg

Создание дистрибутива, совместимого с RHEL

Теперь, рассмотрев дистрибутивы Linux, объясним, что такое дистрибутивы, совместимые с RHEL. Кстати, поскольку дистрибутивы Linux содержат ПО с открытым исходным кодом, думаете ли вы, что его можно просто скопировать как есть?

По крайней мере, с RHEL это невозможно. Одна причина связана с юридическими аспектами, такими как права на товарные знаки для логотипов и т.д. Другая причина связана с контрактом. Мы не будем вдаваться в подробности, почему, но это запрещено контрактом RED HAT Enterprise Contract.

Дистрибутив, совместимый с RHEL, — это дистрибутив Linux, который совместим с RHEL и бинарными приложениями (совместимость бинарных приложений будет рассмотрена позже). В основном акцент делается на пересборку, и она обычно создается в следующем порядке.

Как создать дистрибутив, совместимый с RHEL

В приведенной выше схеме есть различные «изменения, специфичные для дистрибутива». CentOS ограничивался минимальным количеством изменений, таких как замена /etc/redhat-release на /etc/centos-release. По сравнению с этим Oracle Linux сохраняет совместимость, внося значительные изменения.

CentOS хорошо известен среди дистрибутивов, совместимых с RHEL. Однако было объявлено, что CentOS будет прекращен и заменен на CentOS Stream, который занимает промежуточное положение между Fedora и RHEL.

В настоящее время влиятельные дистрибутивы, совместимые с RHEL, включают следующие. Поскольку AlmaLinux и Rocky Linux были выпущены в 2021 году, есть интерес к их будущим тенденциям.

  • Oracle Linux
  • AlmaLinux
  • Rocky Linux
  • MIRACLE LINUX

Кроме того, есть Amazon Linux, который является дистрибутивом, близким к RHEL. Amazon Linux 2 близок к RHEL 7, но немного отличается от вышеуказанных дистрибутивов, совместимых с RHEL, поскольку основан на Fedora. Кроме того, Amazon Linux 2022 будет выпускаться каждые два года и поддерживаться в течение пяти лет, так что, похоже, он движется в ином направлении, чем RHEL.

Что такое Oracle Linux?

Теперь перейдем к основной теме. Oracle Linux — это дистрибутив, совместимый с RHEL, разработанный корпорацией Oracle. Основные особенности описаны ниже. Мы объясним важные пункты из этих особенностей.

  • 100% совместимость бинарных приложений с RHEL
  • Многолетний опыт использования в корпоративных областях, таких как Exadata
  • Бесплатно даже в производственной среде
  • 10-летний период поддержки, эквивалентный RHEL. Расширенная поддержка доступна за плату
  • Простой в использовании платный контракт на поддержку по сравнению с RED HAT Enterprise Contract
  • Предлагает Unbreakable Enterprise Kernel, основанный на более новом ядре, в дополнение к совместимому с RHEL ядру
  • Возможность применения патчей без перезагрузки с помощью Ksplice

100% совместимость бинарных приложений с RHEL

Oracle объявила, что Oracle Linux совместим с RHEL и бинарными приложениями. Совместимость бинарных приложений означает, что типичный программный бинарный файл, созданный в одной среде, будет работать как есть в других средах. Совместимость бинарных приложений иногда называют ABI-совместимостью (Application Binary Interface Compatible).

Важно здесь, что это «типичная программа». Некоторые программы, работающие в ОС, выполняются в «пространстве ядра», такие как ядро, драйвер устройства или файловая система, в то время как другие работают в «пользовательском пространстве», такие как HTTP-сервер или сервер баз данных.

ABI-совместимость применима к программам, работающим в «пользовательском пространстве». Поэтому она не распространяется на все программы, включенные в дистрибутив Linux или предоставленные для Linux.

Типичные программы, которые не являются бинарно совместимыми, включают резидентное антивирусное ПО и драйверы устройств от производителей оборудования.

Предоставление Unbreakable Enterprise Kernel

В Oracle Linux есть два типа ядер. По умолчанию устанавливаются оба, и UEK включен. Оба совместимы с RHEL и бинарными приложениями.

  • Совместимое с RHEL ядро, полученное путем пересборки ядра RHEL (RHCK: Red Hat Compatible Kernel)
  • Есть Unbreakable Enterprise Kernel (UEK), основанный на более новом ядре.

Следующая схема показывает взаимосвязь между RHCK и UEK. RHCK для Oracle Linux 8 основан на основном ядре Linux 4.18.
UEK, с другой стороны, основан на 5.4. Другими словами, UEK добавляет уникальные настройки Oracle на основе более продвинутого ядра.

Взаимосвязь между RHCK и UEK

На самом деле, если посмотреть на имя пакета ядра, можно увидеть базовое ядро.

Имя пакета
UEK kernel-uek-5.4.17-2136.300.7
RHCK kernel-4.18.0-348

Следующий сайт представляет версию Oracle Linux и взаимосвязь между RHCK и UEK.

Oracle Linux и выпуски Unbreakable Enterprise Kernel (UEK)

При чтении вышеуказанной веб-страницы можно увидеть следующее:

  • UEK имеет номер выпуска, такой как Release 5 или Release 6
  • UEK с одинаковым номером выпуска могут использоваться с разными основными версиями Oracle Linux

Следующая таблица — краткое резюме. UEK6 можно использовать с Oracle Linux 7 или 8. Однако, поскольку среда сборки отличается, бинарные файлы разные.

Тип ядра RHCK UEK
Oracle Linux 7 kernel-3.10 UEK3〜UEK6
Oracle Linux 8 kernel-4.18 UEK6

Использовать RHCK или UEK?

Возможно, вы задаетесь вопросом, использовать ли RHCK или UEK. Оба являются бинарно совместимыми с приложениями, поэтому можно использовать любой. Однако при использовании Oracle Database или Oracle Linux KVM лучше использовать UEK, который был настроен для Oracle Database.

Следующие случаи можно рассмотреть для использования RHCK:

  • Когда вы используете коммерческое приложение, и поставщик поддерживает только RHCK
  • Когда вы используете физический сервер, и драйвер устройства, предоставленный поставщиком, предназначен только для RHCK
  • Когда вы особенно хотите использовать RHCK

* Продолжение во второй части.