กลับ

2025/03/31

1. คุณใช้ Oracle Linux หรือไม่? (ตอนที่ 1)

คุณรู้จัก Oracle Linux หรือไม่? Oracle Linux เป็นการกระจายที่เข้ากันได้กับ Red Hat Enterprise Linux (RHEL) ซึ่งพัฒนาโดย Oracle Corporation เวอร์ชันแรกถูกปล่อยออกมาในปี 2006 และปัจจุบันถูกใช้ในระบบวิศวกรรม เช่น Exadata รวมถึง Oracle Cloud Infrastructure และ Oracle Linux KVM

ในอดีต ผู้ใช้มีจำนวนจำกัดเนื่องจาก Oracle ซึ่งเป็นบริษัทซอฟต์แวร์สำหรับองค์กร เป็นผู้พัฒนา อย่างไรก็ตาม สถานการณ์เปลี่ยนไปตั้งแต่มีการประกาศเมื่อวันที่ 12 ธันวาคม 2020 ว่าการพัฒนา CentOS จะสิ้นสุดลง
(การประกาศอย่างเป็นทางการของ CentOS Project “CentOS Project shifts focus to CentOS Stream“) การกระจายที่เข้ากันได้กับ RHEL อื่นๆ ที่จะมาแทน CentOS ได้รับความสนใจอย่างมาก หนึ่งในนั้นคือ Oracle Linux

ในบทความนี้ เราจะอธิบายคุณสมบัติของ Oracle Linux และความแตกต่างจาก RHEL และ CentOS

การกระจายลินุกซ์คืออะไร?

ก่อนที่เราจะเข้าสู่ประเด็นหลัก มาพูดถึงการกระจายลินุกซ์กันก่อน ลินุกซ์ในตอนแรกหมายถึงเฉพาะเคอร์เนลเท่านั้น
อย่างไรก็ตาม ผู้ใช้ทั่วไปไม่สามารถใช้ลินุกซ์ได้ด้วยเคอร์เนลลินุกซ์เพียงอย่างเดียว ดังนั้น นอกเหนือจากไลบรารีและเครื่องมือที่จำเป็น เช่น glibc, coreutils, ไดรเวอร์อุปกรณ์ และเชลล์ รวมถึงตัวติดตั้ง คอมไพเลอร์ และซอฟต์แวร์แต่ละชิ้น จะถูกรวมกันเพื่อสร้าง “การกระจายลินุกซ์” ที่ใช้งานง่ายสำหรับทุกคน

สิ่งสำคัญที่นี่ไม่ใช่แค่การรวมองค์ประกอบเข้าด้วยกัน แต่ต้องตรวจสอบล่วงหน้าว่าซอฟต์แวร์แต่ละชิ้นทำงานได้อย่างถูกต้อง การกระจายลินุกซ์ประกอบด้วยซอฟต์แวร์โอเพ่นซอร์ส ดังนั้น นักพัฒนาก็แตกต่างกัน และสภาพแวดล้อมการพัฒนาก็แตกต่างกันตามธรรมชาติ ซอร์สอาจไม่คอมไพล์ หรือคอมไพล์ได้แต่ทำงานไม่ถูกต้อง นักพัฒนาของการกระจายลินุกซ์ได้แก้ไขส่วนเหล่านี้เพื่อให้ทำงานได้อย่างถูกต้อง

อีกสิ่งที่สำคัญคือระบบจัดการแพ็คเกจ ในยุคแรกของลินุกซ์ ซอฟต์แวร์ที่ใช้จะถูกสร้างจากซอร์สทุกครั้ง ในกรณีนี้ ไม่เพียงแต่การติดตั้งจะยุ่งยาก แต่ยังยากต่อการอัปเดตหรือลบ
สิ่งนี้นำไปสู่แพ็คเกจ เช่น 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

ตอนนี้ เราจะทบทวนการกระจายลินุกซ์และอธิบายการกระจายที่เข้ากันได้กับ RHEL โดยวิธีการ เนื่องจากการกระจายลินุกซ์ประกอบด้วยซอฟต์แวร์โอเพ่นซอร์ส คุณคิดว่าคุณสามารถคัดลอกมันได้ตามที่เป็นอยู่หรือไม่?

อย่างน้อยกับ RHEL สิ่งนี้เป็นไปไม่ได้ เหตุผลหนึ่งมาจากมุมมองของกฎหมาย เช่น สิทธิ์ในเครื่องหมายการค้าสำหรับโลโก้ และอื่นๆ อีกเหตุผลหนึ่งมาจากมุมมองของสัญญา เราไม่ลงรายละเอียดว่าทำไม แต่มันถูกห้ามโดย RED HAT Enterprise Contract

การกระจายที่เข้ากันได้กับ RHEL คือการกระจายลินุกซ์ที่เข้ากันได้กับ RHEL และไบนารีแอปพลิเคชัน (ความเข้ากันได้ของไบนารีแอปพลิเคชันจะกล่าวถึงในภายหลัง) โดยพื้นฐานแล้ว การสร้างใหม่ (rebuild) เป็นจุดเน้นหลัก และโดยทั่วไปจะถูกสร้างตามลำดับต่อไปนี้

วิธีสร้างการกระจายที่เข้ากันได้กับ 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 Corporation คุณสมบัติหลักมีดังอธิบายด้านล่าง เราจะอธิบายรายการที่สำคัญจากคุณสมบัติเหล่านี้

  • เข้ากันได้ 100% กับไบนารีแอปพลิเคชันของ RHEL
  • ใช้งานมาหลายปีในด้านองค์กร เช่น Exadata
  • ใช้งานฟรีแม้ในสภาพแวดล้อมการผลิต
  • ระยะเวลาการสนับสนุน 10 ปีเทียบเท่า RHEL มีการสนับสนุนเพิ่มเติมแบบเสียค่าใช้จ่าย
  • สัญญาการสนับสนุนแบบชำระเงินที่ใช้งานง่ายเมื่อเทียบกับ RED HAT Enterprise Contract
  • มี Unbreakable Enterprise Kernel ที่อิงจากเคอร์เนลใหม่กว่านอกเหนือจากเคอร์เนลที่เข้ากันได้กับ RHEL
  • ความสามารถในการปรับใช้แพตช์โดยไม่ต้องรีบูตของ Ksplice

เข้ากันได้ 100% กับไบนารีแอปพลิเคชันของ RHEL

Oracle ได้ประกาศว่า Oracle Linux เข้ากันได้กับ RHEL และไบนารีแอปพลิเคชัน ความเข้ากันได้ของไบนารีแอปพลิเคชันหมายความว่าไบนารีโปรแกรมทั่วไปที่สร้างในสภาพแวดล้อมหนึ่งจะทำงานได้ตามที่เป็นอยู่ในสภาพแวดล้อมอื่น ความเข้ากันได้ของไบนารีแอปพลิเคชันบางครั้งเรียกว่า ABI-compatible (Application Binary Interface Compatible)

สิ่งสำคัญที่นี่คือมันเป็น “โปรแกรมทั่วไป” โปรแกรมบางตัวที่ทำงานบนระบบปฏิบัติการจะทำงานใน “เคอร์เนลสเปซ” เช่น เคอร์เนล ไดรเวอร์อุปกรณ์ หรือระบบไฟล์ ในขณะที่บางตัวทำงานใน “ยูสเซอร์สเปซ” เช่น เซิร์ฟเวอร์ HTTP หรือเซิร์ฟเวอร์ฐานข้อมูล

ความเข้ากันได้ของ ABI ใช้กับโปรแกรมที่ทำงานใน “ยูสเซอร์สเปซ” ดังนั้น มันไม่ใช้กับโปรแกรมทั้งหมดที่รวมอยู่ใน การกระจายลินุกซ์ หรือจัดหาให้สำหรับลินุกซ์

โปรแกรมทั่วไปที่ไม่เข้ากันได้กับไบนารีแอปพลิเคชันรวมถึงซอฟต์แวร์ป้องกันไวรัสที่อยู่ในหน่วยความจำและไดรเวอร์อุปกรณ์จากผู้จำหน่ายฮาร์ดแวร์

การจัดหา Unbreakable Enterprise Kernel

มีเคอร์เนลสองประเภทใน Oracle Linux ตามค่าเริ่มต้นทั้งสองจะถูกติดตั้งและ UEK จะถูกเปิดใช้งาน ทั้งสองเข้ากันได้กับ RHEL และไบนารีแอปพลิเคชัน

  • เคอร์เนลที่เข้ากันได้กับ RHEL เพียงแค่สร้างใหม่จากเคอร์เนล RHEL (RHCK: Red Hat Compatible Kernel)
  • มี Unbreakable Enterprise Kernel (UEK) ที่อิงจากเคอร์เนล upstream ที่ใหม่กว่า

แผนภาพต่อไปนี้แสดงความสัมพันธ์ระหว่าง RHCK และ UEK Oracle Linux 8 RHCK อิงจากเคอร์เนลหลักของลินุกซ์ 4.8
ในทางกลับกัน 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) Releases

เมื่อคุณอ่านหน้าเว็บด้านบน คุณจะเห็นสิ่งต่อไปนี้:

  • 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 โดยเฉพาะ

* ดำเนินต่อในส่วนที่สอง