Zurück

2025/04/16

3. Nutzen Sie Oracle Linux und entdecken Sie die Unterschiede

Zuvor haben wir erklärt, was eine RHEL-kompatible Distribution ist und welche Funktionen Oracle Linux bietet. Diesmal werden wir Oracle Linux tatsächlich verwenden, um die Unterschiede zu RHEL und CentOS zu erläutern.

1. Wie Sie Oracle Linux ausprobieren können

Sie können Oracle Linux auf einfache Weise wie folgt ausprobieren. Diesmal verwenden wir hauptsächlich Methode 1 und teilweise Methode 2.

  1. Installieren Sie Oracle Linux auf VirtualBox oder ähnlichem.
  2. Nutzen Sie Oracle Cloud Infrastructure Always Free
  3. Verwenden Sie ein Oracle Linux-Image in AWS oder Azure

Zusätzlich können Oracle Linux-Medien kostenlos von den folgenden Websites bezogen werden:

Für Installationsanweisungen siehe das Handbuch „Installation von Oracle Linux 8 Oracle Linux“. Es ist fast identisch mit RHEL, CentOS Stream und AlmaLinux. Zusätzlich empfehlen wir „OCI Documentation: Oracle Linux“ für Oracle Cloud Infrastructure.

2. Entdecken Sie die Unterschiede von Oracle Linux

Schauen wir uns Oracle Linux in Aktion an. Diesmal verwenden wir Oracle Linux 8 Update 6. Selbst wenn die Nebenversion unterschiedlich ist, ist es fast dasselbe, also brauchen Sie sich darüber keine Sorgen zu machen. Oracle Linux 7 ist ebenfalls grundsätzlich gleich. Diesmal verwenden wir die folgenden Linux-Distributionen zum Vergleich:

  • Red Hat Enterprise Linux 8
  • CentOS Stream

CentOS Stream ist keine rein RHEL-kompatible Distribution. Daher wären AlmaLinux und MIRACLE LINUX für einen Vergleich besser geeignet, aber diesmal verwenden wir CentOS Stream, da es einfacher zu handhaben ist.

2.1. Überprüfen Sie den Distributionstyp

Überprüfen Sie den Typ der Linux-Distribution. Linux hat eine Datei namens /etc/*-release, mit der Sie die Distribution bestimmen können. Bei einer Überprüfung stellen Sie fest, dass es vier Dateien namens /etc/*-release gibt.

$ ls -l /etc/*release
-rw-r--r--. 1 root root  32 Mai 13 10:14 /etc/oracle-release
-rw-r--r--. 1 root root 479 Mai 13 10:14 /etc/os-release
-rw-r--r--. 1 root root  45 Mai 13 10:14 /etc/redhat-release
lrwxrwxrwx. 1 root root  14 Mai 13 10:14 /etc/system-release -> oracle-release

Wenn Sie den Inhalt der Datei ansehen, können Sie feststellen, dass es sich um Oracle Linux 8.6 handelt.

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

In Linux müssen Sie sich jedoch keine Sorgen um die Nebenversion nach dem Dezimalpunkt machen. Dies liegt daran, dass je nach Repository-Einstellungen die Ausführung von yum update die Nebenversion automatisch erhöht.

Interessant ist der Inhalt von /etc/redhat-release. Es handelt sich um eine Red Hat Enterprise Linux-Version, nicht um Oracle Linux.

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

Wie sieht es aber mit CentOS Stream aus? /etc/redhat-release ist ein symbolischer Link zu /etc/centos-release. Natürlich ist der Inhalt derselbe.

$ 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 ★Es hat denselben Inhalt
CentOS Stream release 8

Es scheint, dass diese Spezifikation eine Maßnahme für Programme ist, die den Distributionstyp überprüfen. Kommerzielle Software und Treiber von Hardwareanbietern verwenden häufig /etc/*-release, um den Typ und die Version der Distribution zu bestimmen. Wahrscheinlich wird erwartet, dass die Überprüfung umgangen wird, indem die ursprüngliche /etc/redhat-release beibehalten wird.

2.2. Überprüfen Sie den Kernel

Überprüfen Sie den Kernel. Da das Ende el8uek lautet, handelt es sich nicht um einen RHEL-kompatiblen Kernel, sondern um den einzigartigen Unbreakable Enterprise Kernel (UEK) von Oracle Linux.

$ uname -r
5.4.17-2136.307.3.1.el8uek.x86_64

Wenn Sie den installierten Kernel ansehen, können Sie feststellen, dass zusätzlich zum UEK auch der RHEL-kompatible Kernel (RHCK: Red Hat Compatible Kernel) installiert ist.

$ 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-kompatibler Kernel
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

Bei UEK und RHCK werden Sie feststellen, dass sich die Versionsnummer stark unterscheidet.

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

Der Grund für den erheblichen Versionsunterschied liegt im Unterschied des zugrunde liegenden Linux-Kernels. UEK basiert auf dem weiter upstream liegenden Linux-Kernel 5.4, mit Anpassungen spezifisch für Oracle Linux und Anwendungskompatibilität mit RHCK.

UEK und RHCK sind auf Anwendungsebene kompatibel, daher sind sie normalerweise in Ordnung. Sie könnten in Erwägung ziehen, umzusteigen, wenn die von Ihnen verwendete Software, Gerätetreiber usw. UEK nicht unterstützen.

2.3. Entdecken Sie den RHEL-kompatiblen Kernel

Die folgende Tabelle zeigt die Beziehung zwischen der RHEL-kompatiblen Distribution und der Kernel-Version. Die „Versionsnummer“ ändert sich nicht, wenn es sich um dieselbe Hauptversion handelt. Was sich ändert, ist die Freigabenummer nach der Kernel-Version.

DistributionKernel-Version
RHEL8-basiertkernel-4.18.0
RHEL7-basiertkernel-3.10.0
RHEL6-basiertkernel-2.6.32

Die folgende Abbildung zeigt die Namenskonvention für Kernel-Pakete. Wenn es sich um dieselbe Hauptversion handelt, bleibt die „Versionsnummer“ gleich, und die „Freigabenummer“ steigt. Für den RHEL-kompatiblen Kernel in Oracle Linux wird derselbe Kernel wie bei RHEL bis zur Freigabenummer veröffentlicht.

Schauen wir uns zur Referenz das Changelog (Änderungsverlauf) des RHEL-kompatiblen Kernels an. Version 4.18.0-372.9.1.el8 scheint einige Kompatibilitätspatches wie Schlüssel anzuwenden, ohne Änderungen. Wenn Sie interessiert sind, sehen Sie sich bitte das Quellpaket (SRPM) an.

# rpm -q --changelog kernel-4.18.0-372.9.1.el8.x86_64|head
* Mi Mai 11 2022 Natalya Naumova  [4.18.0-372.9.1.el8.OL8]
- Aktualisierung der Oracle Linux-Zertifikate (Kevin Lyons)
- Deaktivierung der Signierung für aarch64 (Ilya Okomin)
- Oracle Linux RHCK-Modul-Signierschlüssel wurde der Liste der vertrauenswürdigen Schlüssel des Kernels hinzugefügt (olkmod_signing_key.pem) [Orabug: 29539237]
- Aktualisierung von x509.genkey [Orabug: 24817676]
- Konflikt mit shim-ia32 und shim-x64 <= 15-11.0.5.el8

* Fr Apr 15 2022 Augusto Caringi  [4.18.0-372.9.1.el8]
- scsi: qedi: Behebung fehlerhafter Trennungsbehandlung (Chris Leech) [2071519]
- scsi: iscsi: Behebung der Fehlerbehandlung bei ungebundenen Endpunkten (Chris Leech) [2071519]

2.4. Überprüfen Sie das Yum-Repository

Überprüfen Sie das Yum-Repository. Im Gegensatz zu RHEL können Sie mit Oracle Linux Update-Pakete ohne Supportvertrag erhalten (bei RH ist es ein Abonnementvertrag). Wenn Sie jedoch einen Supportvertrag abschließen, können Sie auch Pakete für Supportvertrag-Nutzer wie Ksplice verwenden.

Standardmäßig sind die folgenden Repositories aktiviert. Außerdem hat sich ab Oracle Linux 8 von yum zu dnf geändert, aber da es kompatibel ist, wird absichtlich yum verwendet.

$ yum repolist
repo id           repo name
ol8_UEKR6         Neueste Unbreakable Enterprise Kernel Version 6 für Oracle Linux 8 (x86_64)
ol8_appstream     Oracle Linux 8 Anwendungsstream (x86_64)
ol8_baseos_latest Oracle Linux 8 BaseOS Neueste (x86_64)

Der Inhalt jedes Repositorys ist wie folgt:

RepositoryErläuterung
ol8_baseos_latestKernpakete für das Betriebssystem
ol8_appstreamAnwendungen, Entwicklungssprachen usw.
ol8_UEKR6UEK R6

Oracle Linux 8 für Oracle Cloud Infrastructure ist wie folgt konfiguriert. OCI-spezifische und Ksplice-Repositories sind aktiviert.


ol8_UEKR6         Neueste Unbreakable Enterprise Kernel Version 6 für Oracle Linux 8 (x86_64)
ol8_addons        Oracle Linux 8 Addons (x86_64)
ol8_appstream     Oracle Linux 8 Anwendungsstream (x86_64)
ol8_baseos_latest Oracle Linux 8 BaseOS Neueste (x86_64)
ol8_ksplice       Ksplice für Oracle Linux 8 (x86_64)
ol8_oci           Oracle Linux 8 OCI-Pakete (x86_64)
ol8_oci_included  Oracle Software für OCI-Nutzer auf Oracle Linux 8 (x86_64)

Schauen wir uns auch andere Distributionen an. Die Anzahl der standardmäßig aktivierten Repositories ist unterschiedlich, aber die üblichen baseos und appstream sind gleich.

RHEL8

repo id                          repo name
rhel-8-for-x86_64-appstream-rpms Red Hat Enterprise Linux 8 für x86_64 - Anwendungsstream (RPMs)
rhel-8-for-x86_64-baseos-rpms    Red Hat Enterprise Linux 8 für x86_64 - BaseOS (RPMs)

CentOS Stream

repo id             repo name
appstream           CentOS Stream 8 - Anwendungsstream
baseos              CentOS Stream 8 - BaseOS
epel                Extra Packages für Enterprise Linux 8 - x86_64
epel-modular        Extra Packages für Enterprise Linux Modular 8 - x86_64
extras              CentOS Stream 8 - Extras
extras-common       CentOS Stream 8 - Extras gemeinsame Pakete

Unterschiede in den Repository-IDs zwischen Oracle Linux und anderen Distributionen

Oracle LinuxRHELCentOS Stream
ol8_baseos_latestrhel-8-for-x86_64-baseos-rpmsbaseos
ol8_appstreamrhel-8-for-x86_64-appstream-rpmsappstream

Folgendes wird bis zu den deaktivierten Repositories angezeigt:

$ yum repolist all
repo id                    repo name                                    status
ol8_UEKR6                  Neueste Unbreakable Enterprise Kernel Version aktiviert
ol8_UEKR6_RDMA             Oracle Linux 8 UEK6 RDMA (x86_64)            deaktiviert
ol8_addons                 Oracle Linux 8 Addons (x86_64)               deaktiviert
ol8_appstream              Oracle Linux 8 Anwendungsstream (x86_64)     aktiviert
ol8_baseos_latest          Oracle Linux 8 BaseOS Neueste (x86_64)       aktiviert
ol8_codeready_builder      Oracle Linux 8 CodeReady Builder (x86_64)    deaktiviert
ol8_distro_builder         Oracle Linux 8 Distro Builder (x86_64)       deaktiviert
ol8_kvm_appstream          Oracle Linux 8 KVM Anwendungsstream (x86_64) deaktiviert
ol8_u0_baseos_base         Oracle Linux 8 BaseOS GA (x86_64)            deaktiviert
ol8_u1_baseos_base         Oracle Linux 8.1 BaseOS (x86_64)             deaktiviert
ol8_u2_baseos_base         Oracle Linux 8.2 BaseOS (x86_64)             deaktiviert
ol8_u3_baseos_base         Oracle Linux 8.3 BaseOS (x86_64)             deaktiviert
ol8_u4_baseos_base         Oracle Linux 8.4 BaseOS (x86_64)             deaktiviert
ol8_u4_security_validation Oracle Linux 8 Update 4 (x86_64) Sicherheitsvalidierung deaktiviert
ol8_u5_baseos_base         Oracle Linux 8.5 BaseOS (x86_64)             deaktiviert
ol8_u6_baseos_base         Oracle Linux 8.6 BaseOS (x86_64)             deaktiviert

Zusätzlich sind einige Repositories standardmäßig nicht installiert. Der Befehl yum list available zeigt eine Liste von Paketen an, die Repository-Definitionen enthalten. Zum Beispiel ist oracle-epel-release-el8 ein „EPEL“-Repository, das häufig in RHEL-basierten Distributionen verwendet wird. Führen Sie einfach yum install oracle-epel-release-el8 aus, um das EPEL-Paket verfügbar zu machen.

$ yum list available *release-el8.x86_64
Verfügbare Pakete
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

Erfahren Sie mehr über das Yum-Repository bei Oracle Linux unter https://yum.oracle.com/.

Neben der Möglichkeit, Update-Pakete herunterzuladen, empfehlen wir Ihnen, einen Blick darauf zu werfen, da es eine Vielzahl von Informationen enthält.

2.5. Überprüfen Sie Oracle Linux-spezifische Pakete

Einige Pakete werden nur von Oracle Linux bereitgestellt, aber die Standardinstallation ist im Wesentlichen dieselbe. Als Referenz hier die Pakete mit dem Namen oracle. Wir lassen die Details weg, aber es sind die Teile, die geändert werden müssen, wie Logos, Lizenzen, Repositories, GPG-Schlüssel usw.

# 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. Wechseln Sie den Kernel zu RHCK

Als Referenz zeigen wir hier, wie Sie den Standardkernel UEK zu RHCK ändern können. Verwenden Sie grubby für Änderungen.

1. Überprüfen Sie den Standardkernel. Sie können sehen, dass es /boot/vmlinuz-5.4.17-2136.307.3.1.el8uek.x86_64 mit der Indexnummer „0“ ist.

# grubby --default-index
0

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

2. Als Nächstes wird eine Liste der installierten Kernel angezeigt. index = 1 ist 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. Änderungen können durch Angabe des Kernelpfads oder durch Angabe der Indexnummer vorgenommen werden. Sie können beides verwenden, aber Sie sollten den Kernelpfad angeben, um Fehler zu vermeiden.

★Kernelpfad angeben
# grubby --set-default=/boot/vmlinuz-4.18.0-372.9.1.el8.x86_64
★Indexnummer angeben
# grubby --set-default-index=1 

4. Stellen Sie sicher, dass der Standardkernel zu RHCK geändert wurde.

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

5. Ändern Sie als Nächstes den Standardkernel zu einem RH-kompatiblen Kernel mit /etc/sysconfig/kernel. Wenn Sie dies nicht korrigieren, kehren Sie bei einem Yum-Update zu UEK zurück.

Inhalt von /etc/sysconfig/kernel

# UPDATEDEFAULT gibt an, ob kernel-install neue Kernel als Standard setzen soll
UPDATEDEFAULT=yes

# DEFAULTKERNEL gibt den Standard-Kernel-Pakettyp an
DEFAULTKERNEL=kernel
#DEFAULTKERNEL=kernel-uek ★Auskommentieren und die obige Zeile hinzufügen

Sie können es manuell ändern, aber Sie können es auch mit dem folgenden Befehl ändern.

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

6. Starten Sie neu, um den geänderten Kernel zu aktivieren.

# shutdown -r

7. Wenn Sie sich nach dem Neustart anmelden, wurde auf einen RH-kompatiblen Kernel gewechselt. Damit ist das Verfahren abgeschlossen.

# uname -r
4.18.0-372.9.1.el8.x86_64

4. Fazit

In diesem Artikel haben wir uns auf die Unterschiede zwischen CentOS und RHEL konzentriert. Tatsächlich sind sie bei normaler Nutzung fast identisch. Wenn Ihnen gesagt wird, dass die installierte Umgebung CentOS ist, bemerken Sie es möglicherweise nicht.

Obwohl die grundlegenden Teile als RHEL-kompatible Distribution gleich sind, bietet Oracle Linux eine Vielzahl von Peripherie-Tools für Unternehmen. Es hat auch einzigartige Funktionen wie Ksplice, die es Ihnen ermöglichen, Patches ohne Neustart anzuwenden. Jetzt, da CentOS zu CentOS Stream gewechselt hat, ist Oracle Linux eine der vertrauenswürdigsten RHEL-kompatiblen Distributionen. Warum probieren Sie es nicht aus?