Do you know about Oracle Linux? Oracle Linux is a Red Hat Enterprise Linux (RHEL) compatible distribution developed by Oracle Corporation. The first version was released in 2006 and it is now used in engineered systems such as Exadata as well as Oracle Cloud Infrastructure and Oracle Linux KVM.
In the past, users have been limited due to the fact that Oracle, an enterprise software company, was developing it. However, the situation has changed since it was announced that development of CentOS would end on 12 December 2020.
(CentOS Project’s official announcement “CentOS Project shifts focus to CentOS Stream“). Other RHEL-compatible distributions that will replace CentOS have gathered a lot of attention. One of them is Oracle Linux.
In this article, we will explain the features of Oracle Linux and how it differs from RHEL and CentOS.
What is a Linux Distribution?
Before we get to the main point, let’s talk about Linux distributions. Linux originally referred only to the kernel.
However, general users cannot use Linux with the Linux kernel alone. Therefore, in addition to the necessary libraries and tools such as glibc, coreutils, device drivers, and shells, the installer, compiler, and each piece of software are combined to make a “Linux distribution” that is easy to use for everyone.
The important thing here is not just to combine the elements, but to pre-validate that each piece of software works correctly. A Linux distribution contains open source software. Therefore, the developers are also different, and the development environment is naturally different. The source may not compile, or it may compile but not work correctly. The developers of the Linux distribution have corrected these aspects so that they work correctly.
Another important thing is the package management system. In the early days of Linux, the software that was used was built from source every time. In this case, not only is the installation overwhelming, but it is difficult to update or delete.
This led to packages such as RPM and deb.
Please see the table below. Major distributions include “Red Hat-based distributions” that use RPM and “Debian-based distributions” that use deb. One of these two is typically used in Japanese business. There is also SUSE Linux, which is commonly used in Europe.
Package format | Distribution | Package management tools |
---|---|---|
RPM | Red Hat type(RHEL, Fedora, CentOS, CentOS Stream, Oracle Linux,Amazon Linux) | RPM, yum, dnf |
deb | Debian series(Debian, Ubuntu) | apt, dpkg |
Creating a RHEL-compatible distribution
Now, let’s review Linux distributions and explain RHEL-compatible distributions. By the way, since Linux distributions contain open source software, do you think you could copy it as it is?
At least with RHEL, this is not possible. One reason is from the perspective of laws such as trademark rights for logos and so on. The other reason is from the perspective of the contract. We won’t go into detail why, but it’s forbidden by the RED HAT Enterprise Contract.
A RHEL-compatible distribution is a Linux distribution that is RHEL and application binary compatible (application binary compatibility will be discussed later). Basically, the rebuild is the main focus, and it is generally created in the following order.
How to create a RHEL-compatible distribution
There are various “Distribution-specific changes” in the above diagram. CentOS was limited to the minimum number of changes, such as changing from /etc/redhat-release to /etc/centos-release. Compared to that, Oracle Linux maintains compatibility while adding major changes.
CentOS is well-known among RHEL-compatible distributions. However, it was announced that CentOS would be discontinued and changed to CentOS Stream, which is an intermediate position between Fedora and RHEL.
Currently, influential RHEL-compatible distributions include the following. Since both AlmaLinux and Rocky Linux were released in 2021, there is interest in their future trends.
- Oracle Linux
- AlmaLinux
- Rocky Linux
- MIRACLE LINUX
In addition, there is Amazon Linux, which is a distribution close to RHEL. Amazon Linux 2 is close to RHEL 7, but it is slightly different from the above RHEL-compatible distributions because it is sourced from Fedora. In addition, Amazon Linux 2022 will be released every two years and supported for five years, so it seems to be moving in a different direction from RHEL.
What is Oracle Linux?
We will now discuss the main topic. Oracle Linux is a RHEL-compatible distribution developed by Oracle Corporation. The main features are as described below. We will explain important items from among these features.
- 100% application binary compatible with RHEL
- Many years of use in enterprise areas such as Exadata
- Free of charge even in a production environment
- 10-year support period equivalent to RHEL. Extended support is also available for a fee
- Easy-to-use paid support contract compared to RED HAT Enterprise Contract
- Offers an Unbreakable Enterprise Kernel based on a newer kernel in addition to the RHEL-compatible kernel
- Ksplice rebootless patch adaptability
100% application binary compatible with RHEL
Oracle has announced that Oracle Linux is compatible with RHEL and application binaries. Application binary compatibility means that a typical program binary created in one environment will run as it is in other environments. Application binary compatibility is sometimes referred to as ABI-compatible (Application Binary Interface Compatible).
What is important here is that it is a “typical program”. Some programs that run on an OS run in a “kernel space” such as a kernel, device driver, or file system, while others run in a “user space” such as an HTTP server or a database server.
ABI-compatibility applies to programs that run in “user space”. Therefore, it does not apply to all programs included in the Linux distribution or provided for Linux.
Typical programs that are not application binary compatible include memory-resident antivirus software and device drivers from hardware vendors.
Provision of Unbreakable Enterprise Kernel
There are two types of kernels in Oracle Linux. By default, both are installed and UEK is enabled. Both are RHEL and application binary compatible.
- RHEL-compatible kernel just by rebuilding the RHEL kernel (RHCK: Red Hat Compatible Kernel)
- There is an Unbreakable Enterprise Kernel (UEK) based on a more upstream kernel.
The following diagram shows the relationship between RHCK and UEK. Oracle Linux 8 RHCK is based on Linux mainline kernel 4.8.
UEK, on the other hand, is based on 5.4. In other words, UEK adds Oracle’s unique customization based on the more advanced kernel.
Relationship between RHCK and UEK
In fact, if you look at the kernel package name, you can see the base kernel.
Package name | |
---|---|
UEK | kernel-uek-5.4.17-2136.300.7 |
RHCK | kernel-4.18.0-348 |
The following site introduces the Oracle Linux version and the relationship between RHCK and UEK.
Oracle Linux and Unbreakable Enterprise Kernel (UEK) Releases
When you read the webpage above, you can see the following:
- UEK has a release number such as Release 5 or Release 6
- UEKs with the same release number can be used with different major versions of Oracle Linux
The following table is a brief summary. UEK6 can be used with Oracle Linux 7 or 8. However, because the build environment is different, the binaries are different.
Kernel type | RHCK | UEK |
---|---|---|
Oracle Linux 7 | kernel-3.10 | UEK3〜UEK6 |
Oracle Linux 8 | kernel-4.18 | UEK6 |
Should I use RHCK or UEK?
You may be wondering whether you should use RHCK or UEK. Both are application binary compatible, so you can use either. However, when using Oracle Database or Oracle Linux KVM, it is better to use UEK that has been customized for Oracle Database.
The following cases can be considered for using RHCK:
- When you are using a commercial application and the vendor only supports RHCK
- When you are using a physical server and the device driver provided by the vendor is only for RHCK
- When you particularly want to use RHCK
* Continued in the second half.