back_button

2025/04/04

3. Use o Oracle Linux e Descubra as Diferenças

Anteriormente, explicamos o que é uma distribuição compatível com RHEL e as características do Oracle Linux. Desta vez, vamos operar o Oracle Linux para explicar as diferenças em relação ao RHEL e ao CentOS.

1. Como experimentar o Oracle Linux

Você pode experimentar o Oracle Linux facilmente das seguintes maneiras. Desta vez, usaremos principalmente o método 1 e, parcialmente, o método 2.

  1. Instalar o Oracle Linux no VirtualBox ou similar.
  2. Usar o Oracle Cloud Infrastructure Always Free
  3. Usar uma imagem do Oracle Linux na AWS ou Azure

Além disso, a mídia do Oracle Linux pode ser obtida gratuitamente nos seguintes sites:

Para instruções de instalação, consulte o manual “Instalando o Oracle Linux 8 Oracle Linux”. É quase o mesmo que RHEL, CentOS Stream e AlmaLinux. Além disso, recomendamos “Documentação OCI: Oracle Linux” para o Oracle Cloud Infrastructure.

2. Descubra as diferenças do Oracle Linux

Vamos dar uma olhada no Oracle Linux em ação. Desta vez, usaremos o Oracle Linux 8 Update 6. Mesmo que a versão menor seja diferente, é praticamente o mesmo, então não há necessidade de se preocupar com esse ponto. O Oracle Linux 7 também é basicamente o mesmo. Desta vez, usaremos as seguintes distribuições Linux para comparação:

  • Red Hat Enterprise Linux 8
  • CentOS Stream

O CentOS Stream não é uma distribuição puramente compatível com RHEL. Portanto, AlmaLinux e MIRACLE LINUX seriam mais apropriados para comparação, mas desta vez usaremos o CentOS Stream, que é mais fácil de se acostumar.

2.1. Verifique o tipo de distribuição

Verifique o tipo de distribuição Linux. O Linux possui um arquivo chamado /etc/*-release, que permite determinar a distribuição. Ao verificar, há quatro arquivos chamados /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

Ao olhar o conteúdo do arquivo, você pode ver que é o Oracle Linux 8.6.

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

No entanto, você não precisa se preocupar com a versão menor após o ponto decimal no Linux. Isso ocorre porque, dependendo das configurações do repositório, executar yum update fará com que a versão menor aumente sozinha.

O que é interessante é o conteúdo do /etc/redhat-release. É um lançamento do Red Hat Enterprise Linux, não do Oracle Linux.

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

Mas e o CentOS Stream? O /etc/redhat-release é um link simbólico para /etc/centos-release. Claro, o conteúdo é o mesmo.

$ 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 ★Tem o mesmo conteúdo
CentOS Stream release 8

Parece que essa especificação é uma medida para programas que verificam o tipo de distribuição. Softwares comerciais e drivers fornecidos por fabricantes de hardware frequentemente usam /etc/*-release para determinar o tipo e a versão da distribuição. Provavelmente, isso ocorre porque eles esperam contornar a verificação mantendo o /etc/redhat-release original.

2.2. Verifique o kernel

Verifique o kernel. Como o final é el8uek, não é um kernel compatível com RHEL, mas um Unbreakable Enterprise Kernel (UEK) exclusivo do Oracle Linux.

$ uname -r
5.4.17-2136.307.3.1.el8uek.x86_64

Ao olhar o kernel instalado, você pode ver que, além do UEK, o kernel compatível com RHEL (RHCK: Red Hat Compatible Kernel) também está instalado.

$ 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             ★Kernel compatível com 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

Com UEK e RHCK, você notará que o número da versão é muito diferente.

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

O motivo da diferença significativa nas versões é a diferença no kernel Linux em que eles se baseiam. O UEK é baseado no kernel Linux 5.4 mais upstream, com personalizações específicas do Oracle Linux e compatibilidade de aplicativos com o RHCK.

O UEK e o RHCK são compatíveis no nível de aplicativos, então geralmente estão bem como estão. Você pode considerar a troca quando o software, drivers de dispositivos, etc., que você está usando não suportarem o UEK.

2.3. Descubra o kernel compatível com RHEL

A tabela a seguir mostra a relação entre a distribuição compatível com RHEL e a versão do kernel. O “número da versão” não muda se for a mesma versão principal. O que muda é o número de lançamento após a versão do kernel.

Distribuição Versão do kernel
Baseado em RHEL8kernel-4.18.0
Baseado em RHEL7kernel-3.10.0
Baseado em RHEL6kernel-2.6.32

A figura a seguir mostra a convenção de nomenclatura do pacote do kernel. Se for a mesma versão principal, o “número da versão” permanecerá o mesmo, e o “número de lançamento” aumentará. Para o kernel compatível com RHEL no Oracle Linux, o mesmo kernel que o RHEL é lançado até o número de lançamento.

Vamos dar uma olhada no changelog (histórico de mudanças) do kernel compatível com RHEL para referência. A versão 4.18.0-372.9.1.el8 parece aplicar alguns patches de compatibilidade, como chaves, sem alterações significativas. Se você estiver interessado, consulte o Pacote de Código-Fonte (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]
- Atualizar certificados do Oracle Linux (Kevin Lyons)
- Desativar assinatura para aarch64 (Ilya Okomin)
- A Chave de Assinatura do Módulo RHCK do Oracle Linux foi adicionada à lista de chaves confiáveis do kernel (olkmod_signing_key.pem) [Orabug: 29539237]
- Atualizar x509.genkey [Orabug: 24817676]
- Conflito com shim-ia32 e shim-x64 <= 15-11.0.5.el8

* Fri Apr 15 2022 Augusto Caringi  [4.18.0-372.9.1.el8]
- scsi: qedi: Corrigir manipulação de desconexão falhada (Chris Leech) [2071519]
- scsi: iscsi: Corrigir manipulação de erro de endpoint não vinculado (Chris Leech) [2071519]

2.4. Verifique o repositório Yum

Verifique o repositório Yum. Diferente do RHEL, com o Oracle Linux você pode obter pacotes de atualização sem um contrato de suporte (o RH exige um contrato de assinatura). No entanto, se você assinar um contrato de suporte, também poderá usar pacotes para usuários com contrato de suporte, como o Ksplice.

Por padrão, os seguintes repositórios estão habilitados. Além disso, a partir do Oracle Linux 8, mudou de yum para dnf, mas como é compatível, yum é usado intencionalmente.

$ yum repolist
repo id           repo name
ol8_UEKR6         Último Lançamento do Unbreakable Enterprise Kernel 6 para Oracle Linux 8 (x86_64)
ol8_appstream     Oracle Linux 8 Application Stream (x86_64)
ol8_baseos_latest Oracle Linux 8 BaseOS Latest (x86_64)

O conteúdo de cada repositório é o seguinte:

Repositório Explicação
ol8_baseos_latestPacotes principais para o SO
ol8_appstreamAplicativos, linguagens de desenvolvimento, etc.
ol8_UEKR6UEK R6

O Oracle Linux 8 para Oracle Cloud Infrastructure é configurado da seguinte forma. Repositórios específicos do OCI e do Ksplice estão habilitados.


ol8_UEKR6         Último Lançamento do Unbreakable Enterprise Kernel 6 para 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 para Oracle Linux 8 (x86_64)
ol8_oci           Pacotes OCI do Oracle Linux 8 (x86_64)
ol8_oci_included  Software Oracle para usuários OCI no Oracle Linux 8 (x86_64)

Vamos verificar com outras distribuições também. O número de repositórios habilitados por padrão é diferente, mas os usuais baseos e appstream são os mesmos.

RHEL8

repo id                          repo name
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

repo id             repo name
appstream           CentOS Stream 8 - AppStream
baseos              CentOS Stream 8 - BaseOS
epel                Pacotes Extras para Enterprise Linux 8 - x86_64
epel-modular        Pacotes Extras para Enterprise Linux Modular 8 - x86_64
extras              CentOS Stream 8 - Extras
extras-common       CentOS Stream 8 - Pacotes comuns de Extras

Diferenças de ID de repositório entre Oracle Linux e outras distribuições

Oracle Linux RHEL CentOS Stream
ol8_baseos_latestrhel-8-for-x86_64-baseos-rpmsbaseos
ol8_appstreamrhel-8-for-x86_64-appstream-rpmsappstream

O seguinte é exibido até o repositório que está desabilitado:

$ yum repolist all
repo id                    repo name                                    status
ol8_UEKR6                  Último Lançamento do Unbreakable Enterprise Kernel habilitado
ol8_UEKR6_RDMA             Oracle Linux 8 UEK6 RDMA (x86_64)            desabilitado
ol8_addons                 Oracle Linux 8 Addons (x86_64)               desabilitado
ol8_appstream              Oracle Linux 8 Application Stream (x86_64)   habilitado
ol8_baseos_latest          Oracle Linux 8 BaseOS Latest (x86_64)        habilitado
ol8_codeready_builder      Oracle Linux 8 CodeReady Builder (x86_64) -  desabilitado
ol8_distro_builder         Oracle Linux 8 Distro Builder (x86_64) - Uns desabilitado
ol8_kvm_appstream          Oracle Linux 8 KVM Application Stream (x86_6 desabilitado
ol8_u0_baseos_base         Oracle Linux 8 BaseOS GA (x86_64)            desabilitado
ol8_u1_baseos_base         Oracle Linux 8.1 BaseOS (x86_64)             desabilitado
ol8_u2_baseos_base         Oracle Linux 8.2 BaseOS (x86_64)             desabilitado
ol8_u3_baseos_base         Oracle Linux 8.3 BaseOS (x86_64)             desabilitado
ol8_u4_baseos_base         Oracle Linux 8.4 BaseOS (x86_64)             desabilitado
ol8_u4_security_validation Oracle Linux 8 Update 4 (x86_64) Security Va desabilitado
ol8_u5_baseos_base         Oracle Linux 8.5 BaseOS (x86_64)             desabilitado
ol8_u6_baseos_base         Oracle Linux 8.6 BaseOS (x86_64)             desabilitado

Além disso, alguns repositórios não são instalados por padrão. O comando yum list available exibe uma lista de pacotes que contêm definições de repositório. Por exemplo, oracle-epel-release-el8 é um repositório “EPEL” comumente usado em distribuições baseadas em RHEL. Basta executar yum install oracle-epel-release-el8 para tornar o pacote EPEL disponível.

$ yum list available *release-el8.x86_64
Pacotes Disponíveis
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

Saiba mais sobre o repositório Yum no Oracle Linux em https://yum.oracle.com/.

Além de poder baixar pacotes de atualização, recomendamos dar uma olhada, pois contém uma variedade de informações.

2.5. Verifique pacotes específicos do Oracle Linux

Alguns pacotes são fornecidos apenas pelo Oracle Linux, mas a instalação padrão é basicamente a mesma. Para sua referência, aqui estão os pacotes chamados oracle. Vamos omitir os detalhes, mas são as partes que devem ser alteradas, como logotipos, licenças, repositórios, chaves 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. Altere o kernel para RHCK

Para sua referência, aqui está como mudar o kernel padrão UEK para RHCK. Use grubby para as alterações.

1. Verifique o kernel padrão. Você pode ver que é /boot/vmlinuz-5.4.17-2136.307.3.1.el8uek.x86_64 com o 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. Em seguida, exibe uma lista dos kernels instalados. index = 1 é o 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. As alterações podem ser feitas especificando o caminho do kernel ou o número de índice. Você pode usar qualquer um, mas deve especificar o caminho do kernel para evitar erros.

★Especificar o caminho do kernel
# grubby --set-default=/boot/vmlinuz-4.18.0-372.9.1.el8.x86_64
★Especificar o número de índice
# grubby --set-default-index=1 

4. Certifique-se de que o kernel padrão foi alterado para RHCK.

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

5. Em seguida, altere o kernel padrão para um kernel compatível com RH usando /etc/sysconfig/kernel. Se você não corrigir isso, voltará ao UEK ao atualizar o yum.

Conteúdo de /etc/sysconfig/kernel

# UPDATEDEFAULT especifica se o kernel-install deve tornar
# novos kernels o padrão
UPDATEDEFAULT=yes

# DEFAULTKERNEL especifica o tipo de pacote de kernel padrão
DEFAULTKERNEL=kernel
#DEFAULTKERNEL=kernel-uek ★Comente e adicione a linha acima

Você pode alterá-lo manualmente, mas também pode mudá-lo com o seguinte comando.

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

6. Reinicie para habilitar o kernel modificado.

# shutdown -r

7. Ao fazer login após reiniciar, ele mudou para um kernel compatível com RH. Isso conclui o procedimento.

# uname -r
4.18.0-372.9.1.el8.x86_64

4. Conclusão

Neste artigo, focamos nas diferenças entre CentOS e RHEL. Na verdade, eles são quase iguais no uso normal. Se lhe disserem que o ambiente instalado é CentOS, você pode nem perceber.

No entanto, embora as partes básicas sejam as mesmas de uma distribuição compatível com RHEL, o Oracle Linux possui uma variedade de ferramentas periféricas para empresas. Ele também tem recursos exclusivos como o Ksplice, que permite aplicar patches sem reiniciar. Agora que o CentOS mudou para o CentOS Stream, o Oracle Linux é uma das distribuições compatíveis com RHEL mais confiáveis. Por que não experimentá-lo?