Volver

2025/04/09

3. Usa Oracle Linux y Descubre las Diferencias

Anteriormente, explicamos qué es una distribución compatible con RHEL y las características de Oracle Linux. Esta vez, operaremos realmente Oracle Linux para explicar las diferencias con RHEL y CentOS.

1. Cómo probar Oracle Linux

Puedes probar fácilmente Oracle Linux de las siguientes maneras. Esta vez, utilizaremos principalmente el método 1 y parcialmente el método 2.

  1. Instalar Oracle Linux en VirtualBox o similar.
  2. Usar Oracle Cloud Infrastructure Always Free
  3. Usar una imagen de Oracle Linux en AWS o Azure

Además, los medios de Oracle Linux se pueden obtener gratuitamente desde los siguientes sitios:

Para instrucciones de instalación, consulta el manual “Instalando Oracle Linux 8 Oracle Linux”. Es casi lo mismo que RHEL, CentOS Stream y AlmaLinux. Además, recomendamos “Documentación de OCI: Oracle Linux” para Oracle Cloud Infrastructure.

2. Descubre las diferencias de Oracle Linux

Echemos un vistazo a Oracle Linux en acción. Esta vez usaremos Oracle Linux 8 Update 6. Incluso si la versión menor es diferente, es casi lo mismo, por lo que no hay necesidad de preocuparse por este punto. Oracle Linux 7 también es básicamente lo mismo. Esta vez, usaremos las siguientes distribuciones de Linux para comparación:

  • Red Hat Enterprise Linux 8
  • CentOS Stream

CentOS Stream no es una distribución puramente compatible con RHEL. Por lo tanto, AlmaLinux y MIRACLE LINUX son más apropiados para comparación, pero esta vez usaremos CentOS Stream, que es más fácil de acostumbrarse.

2.1. Verifica el tipo de distribución

Verifica el tipo de distribución de Linux. Linux tiene un archivo llamado /etc/*-release, que permite determinar la distribución. Si lo verificas, hay cuatro archivos llamados /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

Si miras el contenido del archivo, puedes ver que es Oracle Linux 8.6.

$ cat /etc/oracle-release
Lanzamiento del servidor Oracle Linux 8.6

Sin embargo, no necesitas preocuparte por la versión menor después del punto decimal en Linux. Esto se debe a que, dependiendo de la configuración del repositorio, ejecutar yum update hará que la versión menor suba por sí sola.

Lo interesante es el contenido de /etc/redhat-release. Es un lanzamiento de Red Hat Enterprise Linux, no de Oracle Linux.

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

Pero, ¿qué pasa con CentOS Stream? /etc/redhat-release es un enlace simbólico a /etc/centos-release. Por supuesto, el contenido es el mismo.

$ 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
Lanzamiento de CentOS Stream 8

$ cat /etc/redhat-release ★Tiene el mismo contenido
Lanzamiento de CentOS Stream 8

Parece que esta especificación es una medida para el programa que verifica el tipo de distribución. El software comercial y los controladores proporcionados por los proveedores de hardware a menudo usan /etc/*-release para determinar el tipo y la versión de la distribución. Probablemente esto se deba a que esperan eludir la verificación dejando el /etc/redhat-release original.

2.2. Verifica el núcleo

Verifica el núcleo. Dado que el final es el8uek, no es un núcleo compatible con RHEL, sino un Núcleo Empresarial Irrompible (UEK) único de Oracle Linux.

$ uname -r
5.4.17-2136.307.3.1.el8uek.x86_64

Si miras el núcleo que está instalado, puedes ver que además del UEK, también está instalado el núcleo compatible con 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             ★Núcleo compatible con 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

Con UEK y RHCK, verás que el número de versión es muy diferente.

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

La razón de la gran diferencia en las versiones es la diferencia en el núcleo de Linux en el que se basan. UEK se basa en el núcleo de Linux más upstream 5.4, con personalizaciones específicas de Oracle Linux y compatibilidad de aplicaciones con RHCK.

UEK y RHCK son compatibles a nivel de aplicación, por lo que generalmente están bien como están. Es posible que desees considerar cambiar cuando el software, los controladores de dispositivos, etc., que estás usando no soporten UEK.

2.3. Descubre el núcleo compatible con RHEL

La siguiente tabla muestra la relación entre la distribución compatible con RHEL y la versión del núcleo. El “número de versión” no cambia si es la misma versión principal. Lo que cambia es el número de lanzamiento que sigue a la versión del núcleo.

DistribuciónVersión del núcleo
Basado en RHEL8kernel-4.18.0
Basado en RHEL7kernel-3.10.0
Basado en RHEL6kernel-2.6.32

La siguiente figura muestra la convención de nomenclatura de los paquetes del núcleo. Si es la misma versión principal, el “número de versión” permanecerá igual, y el “número de lanzamiento” aumentará. Para el núcleo compatible con RHEL en Oracle Linux, se lanza el mismo núcleo que RHEL hasta el número de lanzamiento.

Echemos un vistazo al registro de cambios (historial de cambios) del núcleo compatible con RHEL como referencia. La versión 4.18.0-372.9.1.el8 parece aplicar algunos parches de compatibilidad, como claves, sin cambiar. Si estás interesado, consulta el Paquete Fuente (SRPM).

# rpm -q --changelog kernel-4.18.0-372.9.1.el8.x86_64|head
* Mié May 11 2022 Natalya Naumova  [4.18.0-372.9.1.el8.OL8]
- Actualizar certificados de Oracle Linux (Kevin Lyons)
- Deshabilitar la firma para aarch64 (Ilya Okomin)
- La clave de firma del módulo RHCK de Oracle Linux se agregó a la lista de claves confiables del núcleo (olkmod_signing_key.pem) [Orabug: 29539237]
- Actualizar x509.genkey [Orabug: 24817676]
- Conflicto con shim-ia32 y shim-x64 <= 15-11.0.5.el8

* Vie Abr 15 2022 Augusto Caringi  [4.18.0-372.9.1.el8]
- scsi: qedi: Corrección del manejo de desconexión fallida (Chris Leech) [2071519]
- scsi: iscsi: Corrección del manejo de errores de punto final no vinculado (Chris Leech) [2071519]

2.4. Verifica el repositorio Yum

Verifica el repositorio Yum. A diferencia de RHEL, con Oracle Linux puedes obtener paquetes de actualización sin un contrato de soporte (RH es un contrato de suscripción). Sin embargo, si firmas un contrato de soporte, también puedes usar paquetes para usuarios con contrato de soporte como Ksplice.

Por defecto, los siguientes repositorios están habilitados. Además, desde Oracle Linux 8, ha cambiado de yum a dnf, pero como es compatible, se usa yum intencionalmente.

$ yum repolist
id del repositorio        nombre del repositorio
ol8_UEKR6                 Último Lanzamiento del Núcleo Empresarial Irrompible 6 para Oracle Linux 8 (x86_64)
ol8_appstream             Flujo de Aplicaciones de Oracle Linux 8 (x86_64)
ol8_baseos_latest         Último BaseOS de Oracle Linux 8 (x86_64)

El contenido de cada repositorio es el siguiente:

RepositorioExplicación
ol8_baseos_latestPaquetes centrales para el SO
ol8_appstreamAplicaciones, lenguajes de desarrollo, etc.
ol8_UEKR6UEK R6

Oracle Linux 8 para Oracle Cloud Infrastructure está configurado como sigue. Los repositorios específicos de OCI y Ksplice están habilitados.


ol8_UEKR6         Último Lanzamiento del Núcleo Empresarial Irrompible 6 para Oracle Linux 8 (x86_64)
ol8_addons        Complementos de Oracle Linux 8 (x86_64)
ol8_appstream     Flujo de Aplicaciones de Oracle Linux 8 (x86_64)
ol8_baseos_latest Último BaseOS de Oracle Linux 8 (x86_64)
ol8_ksplice       Ksplice para Oracle Linux 8 (x86_64)
ol8_oci           Paquetes OCI de Oracle Linux 8 (x86_64)
ol8_oci_included  Software de Oracle para usuarios de OCI en Oracle Linux 8 (x86_64)

Verifiquemos también con otras distribuciones. El número de repositorios habilitados por defecto es diferente, pero los habituales baseos y appstream son los mismos.

RHEL8

id del repositorio                       nombre del repositorio
rhel-8-for-x86_64-appstream-rpms         Red Hat Enterprise Linux 8 para x86_64 - AppStream (RPMs)
rhel-8-for-x86_64-baseos-rpms            Red Hat Enterprise Linux 8 para x86_64 - BaseOS (RPMs)

CentOS Stream

id del repositorio          nombre del repositorio
appstream                   CentOS Stream 8 - AppStream
baseos                      CentOS Stream 8 - BaseOS
epel                        Paquetes Extras para Enterprise Linux 8 - x86_64
epel-modular                Paquetes Extras para Enterprise Linux Modular 8 - x86_64
extras                      CentOS Stream 8 - Extras
extras-common               Paquetes comunes de Extras de CentOS Stream 8

Diferencias de ID de repositorio entre Oracle Linux y otras distribuciones

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

Lo siguiente se muestra hasta el repositorio que está deshabilitado:

$ yum repolist all
id del repositorio                 nombre del repositorio                                estado
ol8_UEKR6                          Último Lanzamiento del Núcleo Empresarial Irrompible habilitado
ol8_UEKR6_RDMA                     Oracle Linux 8 UEK6 RDMA (x86_64)                    deshabilitado
ol8_addons                         Complementos de Oracle Linux 8 (x86_64)               deshabilitado
ol8_appstream                      Flujo de Aplicaciones de Oracle Linux 8 (x86_64)     habilitado
ol8_baseos_latest                  Último BaseOS de Oracle Linux 8 (x86_64)             habilitado
ol8_codeready_builder              Oracle Linux 8 CodeReady Builder (x86_64) -          deshabilitado
ol8_distro_builder                 Oracle Linux 8 Distro Builder (x86_64) - Sin         deshabilitado
ol8_kvm_appstream                  Flujo de Aplicaciones KVM de Oracle Linux 8 (x86_6   deshabilitado
ol8_u0_baseos_base                 Oracle Linux 8 BaseOS GA (x86_64)                    deshabilitado
ol8_u1_baseos_base                 Oracle Linux 8.1 BaseOS (x86_64)                     deshabilitado
ol8_u2_baseos_base                 Oracle Linux 8.2 BaseOS (x86_64)                     deshabilitado
ol8_u3_baseos_base                 Oracle Linux 8.3 BaseOS (x86_64)                     deshabilitado
ol8_u4_baseos_base                 Oracle Linux 8.4 BaseOS (x86_64)                     deshabilitado
ol8_u4_security_validation         Validación de Seguridad de Oracle Linux 8 Update 4   deshabilitado
ol8_u5_baseos_base                 Oracle Linux 8.5 BaseOS (x86_64)                     deshabilitado
ol8_u6_baseos_base                 Oracle Linux 8.6 BaseOS (x86_64)                     deshabilitado

Además, algunos repositorios no están instalados por defecto. El comando yum list available muestra una lista de paquetes que contienen definiciones de repositorios. Por ejemplo, oracle-epel-release-el8 es un repositorio “EPEL” comúnmente usado en distribuciones basadas en RHEL. Simplemente ejecuta yum install oracle-epel-release-el8 para hacer disponible el paquete EPEL.

$ yum list available *release-el8.x86_64
Paquetes Disponibles
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

Obtén más información sobre el repositorio Yum en Oracle Linux en https://yum.oracle.com/.

Además de poder descargar paquetes de actualización, recomendamos que lo revises ya que contiene una variedad de información.

2.5. Verifica los paquetes específicos de Oracle Linux

Algunos paquetes son proporcionados solo por Oracle Linux, pero la instalación por defecto es básicamente la misma. Para tu referencia, aquí están los paquetes nombrados oracle. Omitiremos los detalles, pero son las partes que deben cambiarse, como los logotipos, licencias, repositorios, claves GPG, etc.

# 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. Cambia el núcleo a RHCK

Para tu referencia, aquí te mostramos cómo cambiar el núcleo predeterminado UEK a RHCK. Usa grubby para los cambios.

1. Verifica el núcleo predeterminado. Puedes ver que es /boot/vmlinuz-5.4.17-2136.307.3.1.el8uek.x86_64 con el número de índice “0”.

# grubby --default-index
0

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

2. A continuación, muestra una lista de los núcleos instalados. index = 1 es 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. Los cambios se pueden hacer especificando la ruta del núcleo o especificando el número de índice. Puedes usar cualquiera, pero deberías especificar la ruta del núcleo para evitar errores.

★Especificar la ruta del núcleo
# grubby --set-default=/boot/vmlinuz-4.18.0-372.9.1.el8.x86_64
★Especificar el número de índice
# grubby --set-default-index=1 

4. Asegúrate de que el núcleo predeterminado haya cambiado a RHCK.

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

5. A continuación, cambia el núcleo predeterminado a un núcleo compatible con RH usando /etc/sysconfig/kernel. Si no lo arreglas, volverás a UEK cuando actualices yum.

Contenido de /etc/sysconfig/kernel

# UPDATEDEFAULT especifica si kernel-install debería hacer
# los nuevos núcleos el predeterminado
UPDATEDEFAULT=yes

# DEFAULTKERNEL especifica el tipo de paquete de núcleo predeterminado
DEFAULTKERNEL=kernel
#DEFAULTKERNEL=kernel-uek ★Comenta y agrega la línea de arriba

Puedes cambiarlo manualmente, pero también puedes cambiarlo con el siguiente comando.

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

6. Reinicia para habilitar el núcleo modificado.

# shutdown -r

7. Cuando inicies sesión después de reiniciar, habrá cambiado a un núcleo compatible con RH. Esto completa el procedimiento.

# uname -r
4.18.0-372.9.1.el8.x86_64

4. Conclusión

En este artículo, nos hemos centrado en las diferencias entre CentOS y RHEL. De hecho, son casi lo mismo en uso normal. Si te dicen que el entorno instalado es CentOS, es posible que no lo notes.

Sin embargo, aunque las partes básicas son las mismas que una distribución compatible con RHEL, Oracle Linux tiene una variedad de herramientas periféricas para empresas. También tiene características únicas como Ksplice que te permiten aplicar parches sin reiniciar. Ahora que CentOS ha cambiado a CentOS Stream, Oracle Linux es una de las distribuciones compatibles con RHEL más confiables. ¿Por qué no lo pruebas?