رجوع
2025/04/18
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 تحديث 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 حتى رقم الإصدار.

لنلقِ نظرة على سجل التغييرات (تاريخ التغيير) للنواة المتوافقة مع 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 orgl8_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. إذا لم تقم بإصلاح هذا، ستعود إلى UEK عند تحديث yum.
محتويات /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 موثوقية. لماذا لا تجربها؟