Назад
2025/04/21
3. Используйте Oracle Linux и откройте для себя различия
Ранее мы объяснили, что такое дистрибутив, совместимый с RHEL, и особенности Oracle Linux. На этот раз мы будем работать с Oracle Linux, чтобы объяснить различия с RHEL и CentOS.
1. Как попробовать Oracle Linux
Вы можете легко попробовать Oracle Linux следующими способами. На этот раз мы будем в основном использовать метод 1, а частично — метод 2.
- Установить Oracle Linux на VirtualBox или аналогичное ПО.
- Использовать Oracle Cloud Infrastructure Always Free
- Использовать образ Oracle Linux в AWS или Azure
Кроме того, носители Oracle Linux можно получить бесплатно на следующих сайтах:
Инструкции по установке см. в руководстве «Установка Oracle Linux 8 Oracle Linux». Процесс почти идентичен установке RHEL, CentOS Stream и AlmaLinux. Кроме того, мы рекомендуем «Документацию OCI: Oracle Linux» для Oracle Cloud Infrastructure.
2. Откройте для себя различия Oracle Linux
Давайте посмотрим на Oracle Linux в действии. На этот раз мы будем использовать Oracle Linux 8 Update 6. Даже если минорная версия отличается, она почти одинакова, так что об этом не стоит беспокоиться. Oracle Linux 7 также в основном совпадает. На этот раз мы будем использовать следующие дистрибутивы Linux для сравнения:
- Red Hat Enterprise Linux 8
- CentOS Stream
CentOS Stream не является чисто совместимым с RHEL дистрибутивом. Поэтому для сравнения больше подходят AlmaLinux и MIRACLE LINUX, но на этот раз мы будем использовать CentOS Stream, к которому легче привыкнуть.
2.1. Проверка типа дистрибутива
Проверьте тип дистрибутива Linux. В Linux есть файл под названием /etc/*-release, который позволяет определить дистрибутив. При проверке обнаруживается четыре файла с названием /etc/*-release.
$ ls -l /etc/*release
-rw-r--r--. 1 root root 32 May 13 10:14 /etc/oracle-release
-rw-r--r--. 1 root root 479 May 13 10:14 /etc/os-release
-rw-r--r--. 1 root root 45 May 13 10:14 /etc/redhat-release
lrwxrwxrwx. 1 root root 14 May 13 10:14 /etc/system-release -> oracle-release
При просмотре содержимого файла видно, что это Oracle Linux 8.6.
$ cat /etc/oracle-release
Oracle Linux Server release 8.6
Однако в Linux не нужно беспокоиться о минорной версии после десятичной точки. Это связано с тем, что в зависимости от настроек репозитория выполнение yum update автоматически повысит минорную версию.
Интересно содержание файла /etc/redhat-release. Это выпуск Red Hat Enterprise Linux, а не Oracle Linux.
$ cat /etc/redhat-release
Red Hat Enterprise Linux release 8.6 (Ootpa)
А как насчет CentOS Stream? /etc/redhat-release является символической ссылкой на /etc/centos-release. Конечно, содержание одинаковое.
$ ls -l /etc/*release
-rw-r--r--. 1 root root 24 Sep 14 2021 /etc/centos-release
lrwxrwxrwx. 1 root root 21 Sep 14 2021 /etc/os-release -> ../usr/lib/os-release
lrwxrwxrwx. 1 root root 14 Sep 14 2021 /etc/redhat-release -> centos-release
lrwxrwxrwx. 1 root root 14 Sep 14 2021 /etc/system-release -> centos-release
$ cat /etc/centos-release
CentOS Stream release 8
$ cat /etc/redhat-release ★Содержание одинаковое
CentOS Stream release 8
Похоже, что эта спецификация является мерой для программ, проверяющих тип дистрибутива. Коммерческое ПО и драйверы, предоставляемые производителями оборудования, часто используют /etc/*-release для определения типа и версии дистрибутива. Вероятно, это сделано для того, чтобы обойти проверку, сохраняя оригинальный /etc/redhat-release.
2.2. Проверка ядра
Проверьте ядро. Поскольку в конце указано el8uek, это не совместимое с RHEL ядро, а уникальное Unbreakable Enterprise Kernel (UEK) от Oracle Linux.
$ uname -r
5.4.17-2136.307.3.1.el8uek.x86_64
Если посмотреть на установленное ядро, видно, что помимо UEK установлено также совместимое с RHEL ядро (RHCK: Red Hat Compatible Kernel).
$ rpm -qa | grep kernel
kernel-uek-5.4.17-2136.307.3.1.el8uek.x86_64 ★UEK
kernel-modules-4.18.0-372.9.1.el8.x86_64
kernel-tools-libs-4.18.0-372.9.1.el8.x86_64
kernel-4.18.0-372.9.1.el8.x86_64 ★Совместимое с RHEL ядро
kernel-tools-4.18.0-372.9.1.el8.x86_64
kernel-core-4.18.0-372.9.1.el8.x86_64
kernel-headers-4.18.0-372.9.1.el8.x86_64
Сравнивая UEK и RHCK, вы заметите, что номера версий сильно отличаются.
- UEK: kernel-uek-5.4
- RHCK: kernel-4.18
Причина значительного различия в версиях заключается в различии базового ядра Linux. UEK основан на более новом ядре Linux 5.4 с настройками, специфичными для Oracle Linux, и совместимостью приложений с RHCK.
UEK и RHCK совместимы на уровне приложений, поэтому обычно они работают без проблем. Вы можете рассмотреть возможность переключения, если используемое ПО, драйверы устройств и т.д. не поддерживают UEK.
2.3. Изучение совместимого с RHEL ядра
В следующей таблице показано соотношение между дистрибутивами, совместимыми с RHEL, и версией ядра. «Номер версии» не меняется, если это одна и та же основная версия. Меняется номер выпуска, следующий за версией ядра.
Дистрибутив | Версия ядра |
---|---|
На базе RHEL8 | kernel-4.18.0 |
На базе RHEL7 | kernel-3.10.0 |
На базе RHEL6 | kernel-2.6.32 |
На следующем рисунке показана конвенция именования пакетов ядра. Если это одна и та же основная версия, «номер версии» остается неизменным, а «номер выпуска» увеличивается. Для совместимого с RHEL ядра в Oracle Linux выпускается то же ядро, что и в RHEL, вплоть до номера выпуска.

Давайте посмотрим на журнал изменений (changelog) совместимого с RHEL ядра для справки. Версия 4.18.0-372.9.1.el8, похоже, применяет несколько патчей совместимости, таких как ключи, без изменений. Если интересно, ознакомьтесь с исходным пакетом (SRPM).
# rpm -q --changelog kernel-4.18.0-372.9.1.el8.x86_64|head
* Wed May 11 2022 Natalya Naumova [4.18.0-372.9.1.el8.OL8]
- Update Oracle Linux certificates (Kevin Lyons)
- Disable signing for aarch64 (Ilya Okomin)
- Oracle Linux RHCK Module Signing Key was added to the kernel trusted keys list (olkmod_signing_key.pem) [Orabug: 29539237]
- Update x509.genkey [Orabug: 24817676]
- Conflict with shim-ia32 and shim-x64 <= 15-11.0.5.el8
* Fri Apr 15 2022 Augusto Caringi [4.18.0-372.9.1.el8]
- scsi: qedi: Fix failed disconnect handling (Chris Leech) [2071519]
- scsi: iscsi: Fix unbound endpoint error handling (Chris Leech) [2071519]
2.4. Проверка репозитория Yum
Проверьте репозиторий Yum. В отличие от RHEL, в Oracle Linux вы можете получать пакеты обновлений без контракта поддержки (в RH это подписной контракт). Однако, если вы заключите контракт поддержки, вы также сможете использовать пакеты для пользователей с контрактом поддержки, такие как Ksplice.
По умолчанию включены следующие репозитории. Кроме того, начиная с Oracle Linux 8, вместо yum используется dnf, но, поскольку они совместимы, мы намеренно используем yum.
$ yum repolist
repo id repo name
ol8_UEKR6 Latest Unbreakable Enterprise Kernel Release 6 for Oracle Linux 8 (x86_64)
ol8_appstream Oracle Linux 8 Application Stream (x86_64)
ol8_baseos_latest Oracle Linux 8 BaseOS Latest (x86_64)
Содержание каждого репозитория следующее:
Репозиторий | Описание |
---|---|
ol8_baseos_latest | Основные пакеты для ОС |
ol8_appstream | Приложения, языки разработки и т.д. |
ol8_UEKR6 | UEK R6 |
Oracle Linux 8 для Oracle Cloud Infrastructure настроен следующим образом. Включены специфичные для OCI и Ksplice репозитории.
ol8_UEKR6 Latest Unbreakable Enterprise Kernel Release 6 for Oracle Linux 8 (x86_64)
ol8_addons Oracle Linux 8 Addons (x86_64)
ol8_appstream Oracle Linux 8 Application Stream (x86_64)
ol8_baseos_latest Oracle Linux 8 BaseOS Latest (x86_64)
ol8_ksplice Ksplice for Oracle Linux 8 (x86_64)
ol8_oci Oracle Linux 8 OCI Packages (x86_64)
ol8_oci_included Oracle Software for OCI users on Oracle Linux 8 (x86_64)
Давайте проверим и другие дистрибутивы. Количество включенных по умолчанию репозиториев различается, но стандартные baseos и appstream одинаковы.
RHEL8
repo id repo name
rhel-8-for-x86_64-appstream-rpms Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
rhel-8-for-x86_64-baseos-rpms Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)
CentOS Stream
repo id repo name
appstream CentOS Stream 8 - AppStream
baseos CentOS Stream 8 - BaseOS
epel Extra Packages for Enterprise Linux 8 - x86_64
epel-modular Extra Packages for Enterprise Linux Modular 8 - x86_64
extras CentOS Stream 8 - Extras
extras-common CentOS Stream 8 - Extras common packages
Различия в идентификаторах репозиториев между Oracle Linux и другими дистрибутивами
Oracle Linux | RHEL | CentOS Stream |
---|---|---|
ol8_baseos_latest | rhel-8-for-x86_64-baseos-rpms | baseos |
ol8_appstream | rhel-8-for-x86_64-appstream-rpms | appstream |
Ниже отображаются репозитории, включая отключенные:
$ yum repolist all
repo id repo name status
ol8_UEKR6 Latest Unbreakable Enterprise Kernel Release enabled
ol8_UEKR6_RDMA Oracle Linux 8 UEK6 RDMA (x86_64) disabled
ol8_addons Oracle Linux 8 Addons (x86_64) disabled
ol8_appstream Oracle Linux 8 Application Stream (x86_64) enabled
ol8_baseos_latest Oracle Linux 8 BaseOS Latest (x86_64) enabled
ol8_codeready_builder Oracle Linux 8 CodeReady Builder (x86_64) - disabled
ol8_distro_builder Oracle Linux 8 Distro Builder (x86_64) - Uns disabled
ol8_kvm_appstream Oracle Linux 8 KVM Application Stream (x86_6 disabled
ol8_u0_baseos_base Oracle Linux 8 BaseOS GA (x86_64) disabled
ol8_u1_baseos_base Oracle Linux 8.1 BaseOS (x86_64) disabled
ol8_u2_baseos_base Oracle Linux 8.2 BaseOS (x86_64) disabled
ol8_u3_baseos_base Oracle Linux 8.3 BaseOS (x86_64) disabled
ol8_u4_baseos_base Oracle Linux 8.4 BaseOS (x86_64) disabled
ol8_u4_security_validation Oracle Linux 8 Update 4 (x86_64) Security Va disabled
ol8_u5_baseos_base Oracle Linux 8.5 BaseOS (x86_64) disabled
ol8_u6_baseos_base Oracle Linux 8.6 BaseOS (x86_64) disabled
Кроме того, некоторые репозитории не установлены по умолчанию. Команда yum list available отображает список пакетов, содержащих определения репозиториев. Например, oracle-epel-release-el8 — это репозиторий «EPEL», широко используемый в дистрибутивах на базе RHEL. Просто выполните yum install oracle-epel-release-el8, чтобы сделать пакет EPEL доступным.
$ yum list available *release-el8.x86_64
Available Packages
mysql-release-el8.x86_64 1.0-3.el8 ol8_baseos_latest
oracle-epel-release-el8.x86_64 1.0-5.el8 ol8_baseos_latest
oracle-gluster-release-el8.x86_64 1.0-2.el8 ol8_baseos_latest
oracle-instantclient-release-el8.x86_64 1.0-1.el8 ol8_baseos_latest
oracle-linux-manager-client-release-el8.x86_64 1.0-1.el8 ol8_baseos_latest
oracle-olcne-release-el8.x86_64 1.0-6.el8 ol8_baseos_latest
oracle-ovirt-release-el8.x86_64 1.0-1.0.3.el8 ol8_baseos_latest
oracle-release-el8.x86_64 1.0-1.el8 ol8_baseos_latest
oracle-software-release-el8.x86_64 1.0-1.el8 ol8_baseos_latest
oracle-spacewalk-client-release-el8.x86_64 1.0-1.el8 ol8_baseos_latest
oraclelinux-automation-manager-release-el8.x86_64
1.0-1.el8 ol8_baseos_latest
oraclelinux-developer-release-el8.x86_64 1.0-7.el8 ol8_baseos_latest
oraclelinux-release-el8.x86_64 1.0-24.el8 ol8_baseos_latest
Узнайте больше о репозитории Yum в Oracle Linux на https://yum.oracle.com/.
Помимо возможности загрузки пакетов обновлений, мы рекомендуем ознакомиться с сайтом, так как он содержит множество полезной информации.

2.5. Проверка специфичных для Oracle Linux пакетов
Некоторые пакеты предоставляются только Oracle Linux, но установка по умолчанию в основном одинакова. Для справки, вот пакеты с именем oracle. Мы опустим детали, но это части, которые должны быть изменены, такие как логотипы, лицензии, репозитории, ключи GPG и т.д.
# rpm -qa | grep oracle
oraclelinux-release-8.6-1.0.5.el8.x86_64
oraclelinux-release-el8-1.0-23.el8.x86_64
oracle-logos-84.5-1.0.1.el8.x86_64
3. Смена ядра на RHCK
Для справки, вот как изменить ядро по умолчанию UEK на RHCK. Используйте grubby для изменений.
1. Проверьте ядро по умолчанию. Видно, что это /boot/vmlinuz-5.4.17-2136.307.3.1.el8uek.x86_64 с индексом «0».
# grubby --default-index
0
# grubby --default-kernel
/boot/vmlinuz-5.4.17-2136.307.3.1.el8uek.x86_64
2. Далее отображается список установленных ядер. index = 1 — это RHCK.
# grubby --info=ALL | grep -A 1 ^index
index=0
kernel="/boot/vmlinuz-5.4.17-2136.307.3.1.el8uek.x86_64"
--
index=1
kernel="/boot/vmlinuz-4.18.0-372.9.1.el8.x86_64"
--
index=2
kernel="/boot/vmlinuz-0-rescue-5b64998859b34f7884afea6dd27a9390"
3. Изменения можно внести, указав путь к ядру или индексный номер. Можно использовать любой вариант, но лучше указать путь к ядру, чтобы избежать ошибок.
★Указать путь к ядру
# grubby --set-default=/boot/vmlinuz-4.18.0-372.9.1.el8.x86_64
★Указать индексный номер
# grubby --set-default-index=1
4. Убедитесь, что ядро по умолчанию изменено на RHCK.
# grubby --default-kernel
/boot/vmlinuz-4.18.0-372.9.1.el8.x86_64
5. Далее измените ядро по умолчанию на совместимое с RH, используя /etc/sysconfig/kernel. Если этого не сделать, при обновлении yum вы вернетесь к UEK.
Содержимое /etc/sysconfig/kernel
# UPDATEDEFAULT specifies if kernel-install should make
# new kernels the default
UPDATEDEFAULT=yes
# DEFAULTKERNEL specifies the default kernel package type
DEFAULTKERNEL=kernel
#DEFAULTKERNEL=kernel-uek ★Закомментировать и добавить строку выше
Вы можете изменить это вручную, но также можно использовать следующую команду.
# sed -i -e 's/DEFAULTKERNEL=kernel-uek/DEFAULTKERNEL=kernel/' /etc/sysconfig/kernel
6. Перезагрузите систему, чтобы активировать измененное ядро.
# shutdown -r
7. После перезагрузки и входа в систему ядро изменено на совместимое с RH. На этом процедура завершена.
# uname -r
4.18.0-372.9.1.el8.x86_64
4. Заключение
В этой статье мы сосредоточились на различиях между CentOS и RHEL. На самом деле, при обычном использовании они почти одинаковы. Если вам скажут, что установленная среда — это CentOS, вы можете этого не заметить.
Однако, несмотря на то, что основные части совпадают с дистрибутивами, совместимыми с RHEL, Oracle Linux имеет множество периферийных инструментов для предприятий. У него также есть уникальные функции, такие как Ksplice, которые позволяют применять патчи без перезагрузки. Теперь, когда CentOS перешел на CentOS Stream, Oracle Linux является одним из самых надежных дистрибутивов, совместимых с RHEL. Почему бы не попробовать его?