CentOS 8 を Oracle Linux 8 に切り替える
概要
CentOS 8 を Oracle Linux 8 に切り替える方法について記載します。
背景
CentOS 8 の開発が終了し、CentOS Stream に統一されるとの発表がありました。CentOS Stream はRHELのプレリリース版のような位置づけで、特定のバージョンはなくローリングリリース方式となります。RHELの代わりに使えるケースもあると思いますが、特定のRHELのバージョンと合わせた環境がほしいような場合は要件に合わないこともあると思います。
Oracle Linux とは?
Oracle Linux は、Oracleによって開発されている RHEL Clone のLinuxディストリビューションで、10年以上の歴史があり、今も開発が続いています。
Oracle Databaseを代表とする血も涙もないライセンスのOracle製品とは異なり、Oracle Linuxは以下のようなかなり柔軟なライセンス体系となっています。
- 無料で使用できる。本番環境でも使用できる。(RHELは開発版は無償だが本番では使えない)
- サポートが必要なら必要な分だけ購入できる。(RHELは全部購入しないといけない)
- RHELやCentOSからも移行してもサポートを受けられる。
- Ksplice などの Oracle Linux 独自の機能もある。(要Premier Support)
かつてはずいぶん叩かれましたが、当時から今まで柔軟なライセンス体系のまま開発が継続されていますので、CentOSが無くなるなら現実的な移行先として有力なのではないかと思います。
CentOS → Oracle Linux の移行手順
Oracle LinuxはRHELおよびCentOSからの移行方法を公開しています。CentOS 6 or 7 からの移行方法はこちらに公開されていますが、CentOS 8 はやり方が違うようです。
(2020/12/16追記) 移行ツールがCentOS8にも対応しました。このページの内容はさっそく不要になりました。
CentOS 8 から Oracle Linux 8 への移行方法はサポートが必要なところにドキュメントがあるようです。(公開した方がいいと思うなー)
サポートが必要な情報を使うのは微妙なので、こちらで言及されていた方法でやってみようと思います。やってる内容はほとんど変わらないと思いますが。
移行してみるテスト
VirtualBoxにCentOS 8 をインストールします。
Oracle Linuxのリポジトリから必要なRPMをダウンロードします。
$ repobase=http://yum.oracle.com/repo/OracleLinux/OL8/baseos/latest/x86_64/getPackage
$ wget \
${repobase}/redhat-release-8.3-1.0.0.1.el8.x86_64.rpm \
${repobase}/oraclelinux-release-8.3-1.0.4.el8.x86_64.rpm \
${repobase}/oraclelinux-release-el8-1.0-9.el8.x86_64.rpm
そのままだと依存関係でRPMが入らないので centos-linux-release を削除します。
# rpm -e --nodeps centos-linux-release
Oracle Linuxのリポジトリ関連のRPMをインストールします。
# rpm -ivh *.rpm
ociregionファイルを作っておきます。これはOCI(Oracle Cloud)ではリージョンに応じてリポジトリサーバを変えるための仕組みのようです。
# :> /etc/dnf/vars/ociregion
CentOSのリポジトリを削除します。
# dnf remove centos-linux-repos
これで、DNFのリポジトリはOracle Linuxのものになります。
# dnf 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)
パッケージをOracle Linuxのものに入れ替えます。CentOSとOracle Linuxのパッケージが混ざってもよければやらなくてもよいです。
# dnf --refresh distro-sync
...
パッケージが入れ替わります
Oracle Linux 独自の Kernel(Unbreakable Enterprise Kernel)を使うこともできます。
# dnf install kernel-uek
EFI bootの場合は再起動する前に grub.cfg を作り直す手順も必要です。
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
ファイルがあることを確認します。
# ls -l /etc/grub2-efi.cfg
lrwxrwxrwx. 1 root root 31 Nov 5 14:56 /etc/grub2-efi.cfg -> ../boot/efi/EFI/redhat/grub.cfg
# ls -l /boot/efi/EFI/redhat/grub.cfg
-rwx------. 1 root root 6544 Dec 11 04:51 /boot/efi/EFI/redhat/grub.cfg
再起動します。
# reboot
UEKで動作していることがわかります。
# uname -r
5.4.17-2036.100.6.1.el8uek.x86_64
/etc/oracle-release があります。
# cat /etc/oracle-release
Oracle Linux Server release 8.3
Oracle Linuxでは、/etc/redhat-release には Red Hat と書かれてます。
# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.3 (Ootpa)
というわけで、CentOS 8 から Oracle Linux 8 に切り替えることができました。
Author And Source
この問題について(CentOS 8 を Oracle Linux 8 に切り替える), 我々は、より多くの情報をここで見つけました https://qiita.com/shakemid/items/673326a114a69cf89791著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .