Quay lại

2025/03/27

1. Bạn có sử dụng Oracle Linux không? (Phần 1)

Bạn có biết về Oracle Linux không? Oracle Linux là một phân phối tương thích với Red Hat Enterprise Linux (RHEL) được phát triển bởi Oracle Corporation. Phiên bản đầu tiên được phát hành vào năm 2006 và hiện nó được sử dụng trong các hệ thống được thiết kế như Exadata cũng như Oracle Cloud Infrastructure và Oracle Linux KVM.

Trong quá khứ, số lượng người dùng bị hạn chế do Oracle, một công ty phần mềm doanh nghiệp, phát triển nó. Tuy nhiên, tình hình đã thay đổi kể từ khi thông báo rằng việc phát triển CentOS sẽ kết thúc vào ngày 12 tháng 12 năm 2020.
(Thông báo chính thức của Dự án CentOS “Dự án CentOS chuyển trọng tâm sang CentOS Stream“). Các phân phối tương thích với RHEL khác sẽ thay thế CentOS đã thu hút rất nhiều sự chú ý. Một trong số đó là Oracle Linux.

Trong bài viết này, chúng tôi sẽ giải thích các tính năng của Oracle Linux và cách nó khác biệt so với RHEL và CentOS.

Phân phối Linux là gì?

Trước khi đi vào trọng tâm, hãy nói về các phân phối Linux. Ban đầu, Linux chỉ đề cập đến nhân (kernel).
Tuy nhiên, người dùng thông thường không thể sử dụng Linux chỉ với nhân Linux. Do đó, ngoài các thư viện và công cụ cần thiết như glibc, coreutils, trình điều khiển thiết bị và shell, trình cài đặt, trình biên dịch, và từng phần mềm được kết hợp để tạo ra một “phân phối Linux” dễ sử dụng cho mọi người.

Điều quan trọng ở đây không chỉ là kết hợp các thành phần, mà còn phải xác minh trước rằng mỗi phần mềm hoạt động chính xác. Một phân phối Linux chứa phần mềm mã nguồn mở. Do đó, các nhà phát triển cũng khác nhau, và môi trường phát triển đương nhiên cũng khác nhau. Nguồn có thể không biên dịch được, hoặc biên dịch được nhưng không hoạt động chính xác. Các nhà phát triển của phân phối Linux đã sửa chữa những khía cạnh này để chúng hoạt động đúng.

Một điều quan trọng khác là hệ thống quản lý gói. Trong những ngày đầu của Linux, phần mềm được sử dụng phải được xây dựng từ nguồn mỗi lần. Trong trường hợp này, việc cài đặt không chỉ quá tải mà còn khó cập nhật hoặc xóa bỏ.
Điều này dẫn đến sự ra đời của các gói như RPM và deb.

Vui lòng xem bảng dưới đây. Các phân phối chính bao gồm “phân phối dựa trên Red Hat” sử dụng RPM và “phân phối dựa trên Debian” sử dụng deb. Một trong hai loại này thường được sử dụng trong kinh doanh tại Nhật Bản. Ngoài ra còn có SUSE Linux, thường được sử dụng ở châu Âu.

Định dạng góiPhân phốiCông cụ quản lý gói
RPMLoại Red Hat (RHEL, Fedora, CentOS, CentOS Stream, Oracle Linux, Amazon Linux)RPM, yum, dnf
debDòng Debian (Debian, Ubuntu)apt, dpkg

Tạo một phân phối tương thích với RHEL

Bây giờ, hãy xem lại các phân phối Linux và giải thích về các phân phối tương thích với RHEL. Nhân tiện, vì các phân phối Linux chứa phần mềm mã nguồn mở, bạn có nghĩ rằng có thể sao chép nó nguyên trạng không?

Ít nhất với RHEL, điều này là không thể. Một lý do là từ góc độ pháp lý như quyền thương hiệu đối với logo và những thứ tương tự. Lý do khác là từ góc độ hợp đồng. Chúng tôi sẽ không đi sâu vào chi tiết tại sao, nhưng điều này bị cấm bởi Hợp đồng Doanh nghiệp RED HAT.

Một phân phối tương thích với RHEL là một phân phối Linux tương thích với RHEL và nhị phân ứng dụng (tương thích nhị phân ứng dụng sẽ được thảo luận sau). Về cơ bản, việc xây dựng lại (rebuild) là trọng tâm, và nó thường được tạo ra theo thứ tự sau.

Cách tạo một phân phối tương thích với RHEL

Có nhiều “Thay đổi đặc thù của phân phối” trong sơ đồ trên. CentOS được giới hạn ở mức tối thiểu các thay đổi, như thay đổi từ /etc/redhat-release thành /etc/centos-release. So với điều đó, Oracle Linux duy trì khả năng tương thích trong khi bổ sung các thay đổi lớn.

CentOS nổi tiếng trong số các phân phối tương thích với RHEL. Tuy nhiên, đã có thông báo rằng CentOS sẽ bị ngừng và chuyển sang CentOS Stream, một vị trí trung gian giữa Fedora và RHEL.

Hiện tại, các phân phối tương thích với RHEL có ảnh hưởng bao gồm như sau. Vì cả AlmaLinux và Rocky Linux đều được phát hành vào năm 2021, có sự quan tâm đến xu hướng tương lai của chúng.

  • Oracle Linux
  • AlmaLinux
  • Rocky Linux
  • MIRACLE LINUX

Ngoài ra, còn có Amazon Linux, một phân phối gần với RHEL. Amazon Linux 2 gần với RHEL 7, nhưng nó hơi khác so với các phân phối tương thích với RHEL ở trên vì nó có nguồn gốc từ Fedora. Ngoài ra, Amazon Linux 2022 sẽ được phát hành hai năm một lần và hỗ trợ trong năm năm, vì vậy có vẻ như nó đang đi theo một hướng khác so với RHEL.

Oracle Linux là gì?

Bây giờ chúng ta sẽ thảo luận về chủ đề chính. Oracle Linux là một phân phối tương thích với RHEL được phát triển bởi Oracle Corporation. Các tính năng chính được mô tả như bên dưới. Chúng tôi sẽ giải thích các mục quan trọng trong số những tính năng này.

  • Tương thích 100% với nhị phân ứng dụng của RHEL
  • Nhiều năm sử dụng trong các lĩnh vực doanh nghiệp như Exadata
  • Miễn phí ngay cả trong môi trường sản xuất
  • Thời gian hỗ trợ 10 năm tương đương RHEL. Hỗ trợ mở rộng cũng có sẵn với một khoản phí
  • Hợp đồng hỗ trợ trả phí dễ sử dụng hơn so với Hợp đồng Doanh nghiệp RED HAT
  • Cung cấp Unbreakable Enterprise Kernel dựa trên nhân mới hơn ngoài nhân tương thích RHEL
  • Khả năng vá lỗi không cần khởi động lại của Ksplice

Tương thích 100% với nhị phân ứng dụng của RHEL

Oracle đã công bố rằng Oracle Linux tương thích với RHEL và nhị phân ứng dụng. Tương thích nhị phân ứng dụng có nghĩa là một chương trình nhị phân điển hình được tạo trong một môi trường sẽ chạy nguyên trạng trong các môi trường khác. Tương thích nhị phân ứng dụng đôi khi được gọi là ABI-compatible (Tương thích Giao diện Nhị phân Ứng dụng).

Điều quan trọng ở đây là đó là “chương trình điển hình”. Một số chương trình chạy trên hệ điều hành chạy trong “không gian nhân” như nhân, trình điều khiển thiết bị hoặc hệ thống tệp, trong khi những chương trình khác chạy trong “không gian người dùng” như máy chủ HTTP hoặc máy chủ cơ sở dữ liệu.

Tương thích ABI áp dụng cho các chương trình chạy trong “không gian người dùng”. Do đó, nó không áp dụng cho tất cả các chương trình có trong phân phối Linux hoặc được cung cấp cho Linux.

Các chương trình điển hình không tương thích nhị phân ứng dụng bao gồm phần mềm chống vi-rút thường trú trong bộ nhớ và trình điều khiển thiết bị từ các nhà cung cấp phần cứng.

Cung cấp Unbreakable Enterprise Kernel

Có hai loại nhân trong Oracle Linux. Theo mặc định, cả hai đều được cài đặt và UEK được kích hoạt. Cả hai đều tương thích với RHEL và nhị phân ứng dụng.

  • Nhân tương thích RHEL chỉ bằng cách xây dựng lại nhân RHEL (RHCK: Red Hat Compatible Kernel)
  • Có Unbreakable Enterprise Kernel (UEK) dựa trên nhân thượng nguồn hơn.

Sơ đồ sau cho thấy mối quan hệ giữa RHCK và UEK. Oracle Linux 8 RHCK dựa trên nhân chính Linux 4.8.
Mặt khác, UEK dựa trên 5.4. Nói cách khác, UEK bổ sung tùy chỉnh độc đáo của Oracle dựa trên nhân tiên tiến hơn.

Mối quan hệ giữa RHCK và UEK

Thực tế, nếu bạn xem tên gói nhân, bạn có thể thấy nhân cơ sở.

Tên gói
UEKkernel-uek-5.4.17-2136.300.7
RHCKkernel-4.18.0-348

Trang web sau giới thiệu phiên bản Oracle Linux và mối quan hệ giữa RHCK và UEK.

Oracle Linux và các bản phát hành Unbreakable Enterprise Kernel (UEK)

Khi bạn đọc trang web trên, bạn có thể thấy như sau:

  • UEK có số phát hành như Phát hành 5 hoặc Phát hành 6
  • Các UEK với cùng số phát hành có thể được sử dụng với các phiên bản chính khác nhau của Oracle Linux

Bảng sau là tóm tắt ngắn gọn. UEK6 có thể được sử dụng với Oracle Linux 7 hoặc 8. Tuy nhiên, vì môi trường xây dựng khác nhau, các nhị phân cũng khác nhau.

Loại nhânRHCKUEK
Oracle Linux 7kernel-3.10UEK3〜UEK6
Oracle Linux 8kernel-4.18UEK6

Nên sử dụng RHCK hay UEK?

Bạn có thể tự hỏi liệu nên sử dụng RHCK hay UEK. Cả hai đều tương thích nhị phân ứng dụng, vì vậy bạn có thể sử dụng bất kỳ loại nào. Tuy nhiên, khi sử dụng Oracle Database hoặc Oracle Linux KVM, tốt hơn nên sử dụng UEK đã được tùy chỉnh cho Oracle Database.

Các trường hợp sau có thể được xem xét để sử dụng RHCK:

  • Khi bạn đang sử dụng một ứng dụng thương mại và nhà cung cấp chỉ hỗ trợ RHCK
  • Khi bạn đang sử dụng máy chủ vật lý và trình điều khiển thiết bị do nhà cung cấp cung cấp chỉ dành cho RHCK
  • Khi bạn đặc biệt muốn sử dụng RHCK

* Tiếp tục ở phần sau.