Kembali

2025/04/02

3. Gunakan Oracle Linux dan Temukan Perbedaannya

Sebelumnya, kami telah menjelaskan apa itu distribusi yang kompatibel dengan RHEL dan fitur-fitur Oracle Linux. Kali ini, kami akan mengoperasikan Oracle Linux secara nyata untuk menjelaskan perbedaan dengan RHEL dan CentOS.

1. Cara mencoba Oracle Linux

Anda dapat dengan mudah mencoba Oracle Linux dengan cara berikut. Kali ini, kami akan terutama menggunakan metode 1, dan sebagian menggunakan metode 2.

  1. Instal Oracle Linux di VirtualBox atau sejenisnya.
  2. Gunakan Oracle Cloud Infrastructure Always Free
  3. Gunakan gambar Oracle Linux di AWS atau Azure

Selain itu, media Oracle Linux dapat diperoleh secara gratis dari situs berikut:

Untuk petunjuk instalasi, lihat manual “Menginstal Oracle Linux 8 Oracle Linux”. Ini hampir sama dengan RHEL, CentOS Stream, dan AlmaLinux. Selain itu, kami merekomendasikan “Dokumentasi OCI: Oracle Linux” untuk Oracle Cloud Infrastructure.

2. Temukan perbedaan Oracle Linux

Mari kita lihat Oracle Linux beraksi. Kali ini kami akan menggunakan Oracle Linux 8 Update 6. Meskipun versi minor berbeda, ini hampir sama, jadi tidak perlu khawatir tentang hal ini. Oracle Linux 7 juga pada dasarnya sama. Kali ini, kami akan menggunakan distribusi Linux berikut untuk perbandingan:

  • Red Hat Enterprise Linux 8
  • CentOS Stream

CentOS Stream bukan distribusi yang sepenuhnya kompatibel dengan RHEL. Oleh karena itu, AlmaLinux dan MIRACLE LINUX lebih tepat untuk perbandingan, tetapi kali ini kami akan menggunakan CentOS Stream, yang lebih mudah untuk dibiasakan.

2.1. Periksa jenis distribusi

Periksa jenis distribusi Linux. Linux memiliki file yang disebut /etc/*-release, yang memungkinkan Anda menentukan distribusi. Jika Anda memeriksa, ada empat file yang disebut /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

Jika Anda melihat isi file, Anda bisa melihat bahwa ini adalah Oracle Linux 8.6.

$ cat /etc/oracle-release
Oracle Linux Server release 8.6

Namun, Anda tidak perlu khawatir tentang versi minor setelah titik desimal di Linux. Ini karena, tergantung pada pengaturan repositori, menjalankan yum update akan menyebabkan versi minor naik dengan sendirinya.

Yang menarik adalah isi dari /etc/redhat-release. Ini adalah rilis Red Hat Enterprise Linux, bukan Oracle Linux.

$ cat /etc/redhat-release
Red Hat Enterprise Linux release 8.6 (Ootpa)

Tapi bagaimana dengan CentOS Stream? /etc/redhat-release adalah tautan simbolik ke /etc/centos-release. Tentu saja, isinya sama.

$ 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 ★Isinya sama
CentOS Stream release 8

Tampaknya spesifikasi ini adalah tindakan pencegahan untuk program yang memeriksa jenis distribusi. Perangkat lunak komersial dan driver yang disediakan oleh vendor perangkat keras sering menggunakan /etc/*-release untuk menentukan jenis dan versi distribusi. Ini mungkin karena mereka berharap untuk melewati pemeriksaan dengan membiarkan /etc/redhat-release asli tetap ada.

2.2. Periksa kernel

Periksa kernel. Karena akhirannya adalah el8uek, ini bukan kernel yang kompatibel dengan RHEL, tetapi Unbreakable Enterprise Kernel (UEK) unik dari Oracle Linux.

$ uname -r
5.4.17-2136.307.3.1.el8uek.x86_64

Jika Anda melihat kernel yang terinstal, Anda bisa melihat bahwa selain UEK, kernel yang kompatibel dengan RHEL (RHCK: Red Hat Compatible Kernel) juga terinstal.

$ 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             ★Kernel yang kompatibel dengan 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

Dengan UEK dan RHCK, Anda akan melihat bahwa nomor versinya sangat berbeda.

  • UEK: kernel-uek-5.4
  • RHCK: kernel-4.18

Alasan perbedaan versi yang signifikan adalah perbedaan pada kernel Linux yang menjadi dasarnya. UEK didasarkan pada kernel Linux 5.4 yang lebih upstream, dengan penyesuaian khusus untuk Oracle Linux dan kompatibilitas aplikasi dengan RHCK.

UEK dan RHCK kompatibel pada tingkat aplikasi, jadi biasanya tidak masalah seperti adanya. Anda mungkin ingin mempertimbangkan untuk beralih ketika perangkat lunak, driver perangkat, dll. yang Anda gunakan tidak mendukung UEK.

2.3. Temukan kernel yang kompatibel dengan RHEL

Tabel berikut menunjukkan hubungan antara distribusi yang kompatibel dengan RHEL dan versi kernel. “Nomor versi” tidak berubah jika itu adalah versi utama yang sama. Yang berubah adalah nomor rilis yang mengikuti versi kernel.

Distribusi Versi kernel
Berbasis RHEL8 kernel-4.18.0
Berbasis RHEL7 kernel-3.10.0
Berbasis RHEL6 kernel-2.6.32

Gambar berikut menunjukkan konvensi penamaan paket kernel. Jika itu adalah versi utama yang sama, “nomor versi” akan tetap sama, dan “nomor rilis” akan meningkat. Untuk kernel yang kompatibel dengan RHEL di Oracle Linux, kernel yang sama dengan RHEL dirilis hingga nomor rilis.

Mari kita lihat changelog (riwayat perubahan) dari kernel yang kompatibel dengan RHEL untuk referensi. Versi 4.18.0-372.9.1.el8 tampaknya menerapkan beberapa tambalan kompatibilitas, seperti kunci, tanpa perubahan. Jika Anda tertarik, silakan lihat Paket Sumber (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. Periksa repositori Yum

Periksa repositori Yum. Tidak seperti RHEL, dengan Oracle Linux Anda bisa mendapatkan paket pembaruan tanpa kontrak dukungan (RH adalah kontrak berlangganan). Namun, jika Anda menandatangani kontrak dukungan, Anda juga bisa menggunakan paket untuk pengguna kontrak dukungan seperti Ksplice.

Secara default, repositori berikut diaktifkan. Selain itu, dari Oracle Linux 8, telah berubah dari yum menjadi dnf, tetapi karena kompatibel, yum digunakan secara sengaja.

$ 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)

Isi dari setiap repositori adalah sebagai berikut:

Repositori Penjelasan
ol8_baseos_latest Paket inti untuk OS
ol8_appstream Aplikasi, bahasa pengembangan, dll.
ol8_UEKR6 UEK R6

Oracle Linux 8 untuk Oracle Cloud Infrastructure dikonfigurasi sebagai berikut. Repositori khusus OCI dan Ksplice diaktifkan.


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)

Mari kita periksa dengan distribusi lain juga. Jumlah repositori yang diaktifkan secara default berbeda, tetapi baseos dan appstream yang biasa sama.

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

Perbedaan ID repositori antara Oracle Linux dan distribusi lain

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

Berikut ditampilkan hingga repositori yang dinonaktifkan:

$ 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

Selain itu, beberapa repositori tidak diinstal secara default. Perintah yum list available menampilkan daftar paket yang berisi definisi repositori. Misalnya, oracle-epel-release-el8 adalah repositori “EPEL” yang umum digunakan dalam distribusi berbasis RHEL. Cukup jalankan yum install oracle-epel-release-el8 untuk membuat paket EPEL tersedia.

$ 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

Pelajari lebih lanjut tentang repositori Yum di Oracle Linux di https://yum.oracle.com/.

Selain dapat mengunduh paket pembaruan, kami merekomendasikan Anda untuk melihatnya karena berisi berbagai informasi.

2.5. Periksa paket khusus Oracle Linux

Beberapa paket hanya disediakan oleh Oracle Linux, tetapi instalasi default pada dasarnya sama. Untuk referensi Anda, berikut adalah paket yang bernama oracle. Kami akan mengabaikan detailnya, tetapi ini adalah bagian yang harus diubah, seperti logo, lisensi, repositori, kunci GPG, dll.

# 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. Ubah kernel ke RHCK

Untuk referensi Anda, berikut adalah cara mengubah kernel default UEK ke RHCK. Gunakan grubby untuk perubahan.

1. Periksa kernel default. Anda bisa melihat bahwa itu adalah /boot/vmlinuz-5.4.17-2136.307.3.1.el8uek.x86_64 dengan nomor indeks “0”.

# grubby --default-index
0

# grubby --default-kernel
/boot/vmlinuz-5.4.17-2136.307.3.1.el8uek.x86_64

2. Selanjutnya, ini menampilkan daftar kernel yang terinstal. index = 1 adalah 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. Perubahan dapat dilakukan dengan menentukan jalur kernel atau dengan menentukan nomor indeks. Anda bisa menggunakan salah satu, tetapi Anda harus menentukan jalur kernel untuk mencegah kesalahan.

★Tentukan jalur kernel
# grubby --set-default=/boot/vmlinuz-4.18.0-372.9.1.el8.x86_64
★Tentukan nomor indeks
# grubby --set-default-index=1 

4. Pastikan bahwa kernel default telah diubah ke RHCK.

# grubby --default-kernel
/boot/vmlinuz-4.18.0-372.9.1.el8.x86_64

5. Selanjutnya, ubah kernel default ke kernel yang kompatibel dengan RH menggunakan /etc/sysconfig/kernel. Jika Anda tidak memperbaiki ini, Anda akan kembali ke UEK saat memperbarui yum.

Isi /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 ★Komentari dan tambahkan baris di atas

Anda bisa mengubahnya secara manual, tetapi Anda juga bisa mengubahnya dengan perintah berikut.

# sed -i -e 's/DEFAULTKERNEL=kernel-uek/DEFAULTKERNEL=kernel/' /etc/sysconfig/kernel

6. Restart untuk mengaktifkan kernel yang dimodifikasi.

# shutdown -r

7. Saat Anda masuk setelah reboot, itu telah berubah menjadi kernel yang kompatibel dengan RH. Ini menyelesaikan prosedur.

# uname -r
4.18.0-372.9.1.el8.x86_64

4. Kesimpulan

Dalam artikel ini, kami telah fokus pada perbedaan antara CentOS dan RHEL. Faktanya, mereka hampir sama dalam penggunaan normal. Jika Anda diberitahu bahwa lingkungan yang diinstal adalah CentOS, Anda mungkin tidak menyadarinya.

Namun, meskipun bagian dasarnya sama dengan distribusi yang kompatibel dengan RHEL, Oracle Linux memiliki berbagai alat periferal untuk perusahaan. Ini juga memiliki fitur unik seperti Ksplice yang memungkinkan Anda menerapkan tambalan tanpa reboot. Sekarang CentOS telah berubah menjadi CentOS Stream, Oracle Linux adalah salah satu distribusi yang paling tepercaya yang kompatibel dengan RHEL. Mengapa tidak mencobanya?