Oracle Linux を Red Hat Compatible Kernel (RHCK) へ変更してみてみた

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/109087/a99f2422-cb11-4cf7-a7f6-dc0f85f55606.png)
[Oracle Linux](https://www.oracle.com/jp/linux/) には、デフォルトでインストールされ有効化されている [Unbreakable Enterprise Kernel（UEK）](https://docs.oracle.com/en/operating-systems/uek/) と Red Hat compatible Kernel（RHCK） の2種類のカーネルが用意されています。お客様が最新ハードウェアのサポート、充実したセキュリティ機能、優れたパフォーマンスを理由に UEK を選択した場合でも、RHCKを選択した場合でも、Oracle Linux は Red Hat Enterprise Linux（RHEL）との完全なアプリケーションバイナリ互換性を維持します。 
ということで、デフォルトカーネル（UEK）を RHCK へ変更してみてみます。



## ■ デフォルト Unbreakable Enterprise Kernel(UEK) から Red Hat Compatible Kernel (RHCK) へ変更
デフォルトカーネルの設定は GRUBブートローダーを構成することで実行されていました。しかし、Oracle Linux 7.0 以降では、GRUB 2ブートローダーを利用するようになりました。GRUB 2はファイルシステムとカーネル実行ファイルの形式を理解するため、ブートデバイス上のカーネルの正確な位置を知らなくてもオペレーティングシステムをロードできます。 

**1) 設定カーネル確認**
起動時に使用するデフォルトカーネルとして既に設定されているカーネルを確認するには、  grubby --default-kernel コマンドを実行します。 さらに、システムで現在実行中のカーネルを確認するには、  una​​me -r コマンドを使用します。 
以下に示すOracle Linux 8 インスタンスでは、起動時に使用するデフォルトカーネルとしてUEKが設定されており、現在システム上でUEKが実行されています。 

```
[opc@linux ~]$  sudo grubby --default-kernel
    /boot/vmlinuz-5.15.0-306.177.4.el8uek.x86_64

[opc@linux ~]$ uname -r
    5.15.0-306.177.4.el8uek.x86_64

[opc@linux ~]$ cat /etc/oracle-release
Oracle Linux Server release 8.10
```

**2) インストールおよび設定されているすべてのカーネルを表示**
grubby --info=ALL | grep ^kernelコマンドを使用して、システムにインストールおよび設定されているすべてのカーネルを表示します。システムの/bootディレクトリにある各カーネルに関連付けられたブート構成に関する詳細情報を取得したい場合は、grepの出力のパイプ処理を削除し、grubby --info=ALL を実行するだけです。
以下の例では、el8サフィックスはRHCKを示し、el8uekはUEKを示します。
```
[opc@linux ~]$ sudo grubby --info=ALL | grep ^kernel
	kernel="/boot/vmlinuz-4.18.0-553.40.1.el8_10.x86_64"
	kernel="/boot/vmlinuz-5.15.0-306.177.4.el8uek.x86_64"
	kernel="/boot/vmlinuz-0-rescue-c6ba8a0f7826174140463c4a8bdad37a"
```


**3) 起動カーネル変更**
再起動後に実行するカーネルを指定してgrubby --set-defaultコマンドを実行することで、デフォルトのカーネルを変更できます。以下では、デフォルトのカーネルを 上記で確認した RHCK (5.14.0-503.26.1.el9_5.x86_64) に変更しています。
変更はすぐに反映されるため、あとはシステムを再起動するだけです。
```
[opc@linux ~]$ sudo grubby --set-default /boot/vmlinuz-4.18.0-553.40.1.el8_10.x86_64
    The default is /boot/loader/entries/7063910fe2979258f8fd66f2fb8b8567-4.18.0-553.40.1.el8_10.x86_64.conf with index 0 and kernel /boot/vmlinuz-4.18.0-553.40.1.el8_10.x86_64
```

**4) 再起動**
```
[opc@linux ~]$  sudo reboot
	Connection to 10.0.0.2 closed by remote host.
	Connection to 10.0.0.2 closed.
```


**5) 起動カーネル変更確認**
```
[opc@linux ~]$ sudo grubby --default-kernel
/boot/vmlinuz-4.18.0-553.40.1.el8_10.x86_64

[opc@linux ~]$ uname -r
4.18.0-553.40.1.el8_10.x86_64

[opc@linux ~]$ cat /etc/redhat-release
Red Hat Enterprise Linux release 8.10 (Ootpa)
```

# ■ 参考
### ● 製品概要
　・ [Linux](https://www.oracle.com/linux/)
　・ [Oracle Linux 9](https://docs.oracle.com/en/operating-systems/oracle-linux/9/)
　・ [Unbreakable Enterprise Kernel](https://docs.oracle.com/en/operating-systems/uek/)
 
### ● ドキュメント
　・ [Oracle Linux](https://docs.oracle.com/en/operating-systems/oracle-linux/index.html)
　・ [Why Oracle Database Runs Best on Oracle Linux](https://www.oracle.com/a/ocom/docs/linux/oracle-database-runs-best-on-oracle-linux.pdf)
 
### ● FAQ
　・ [Oracle Linuxに関するよくある質問（PDF）](https://www.oracle.com/jp/a/ocom/docs/027617.pdf)
　・ [Oracle Linux for Oracle Cloud Infrastructureに関するよくある質問（PDF）](https://www.oracle.com/jp/a/ocom/docs/oracle-linux-for-cloud-infrastructure-faq.pdf)


 ### ● サポート
　・ [基本サポート](https://shop.oracle.com/apex/f?p=DSTORE:6::::RP,6:P6_LPI,P6_PROD_HIER_ID:39143456106293570686392231,4510272175861805728468)
　・ [プレミアサポート](https://shop.oracle.com/apex/f?p=DSTORE:6::::RP,6:P6_LPI,P6_PROD_HIER_ID:39143457127291890686430042,4510272175861805728468)

 
### ● Blog
　・ [Changing the default kernel in Oracle Linux | It's as simple as 1-2-3](https://blogs.oracle.com/linux/post/changing-the-default-kernel-in-oracle-linux-its-as-simple-as-1-2-3) 
　・ [CentOS 7 から Oracle Linux 8 へワンステップで移行](https://blogs.oracle.com/scoter/post/upgrade-centos-7-to-oracle-linux-8)
　・ [第10回 Oracle Linuxの2種類のカーネル”UEK”と”RHCK”を理解する](https://oracle.human-design.jp/column/20231114/)

### ● ダウンロード
　・ [Oracle Linux ダウンロード](https://yum.oracle.com/oracle-linux-downloads.html)