CentOS 8 Stream → Oracle Linux 8 移行
仕事で、CentOS 8 StreamからOracle Linux 8に移行する都合があり、その際に作成したマニュアルの一部をこちらに公開することにしました。
Oracle Linux8への移行
レポジトリベースをOracle Linuxへと変更する。
repobase=http://yum.oracle.com/repo/OracleLinux/OL8/baseos/latest/x86_64/getPackage
Oracle Linuxのrpmをインストールする。
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
centos-stream-releaseを削除する。
sudo rpm -e --nodeps centos-stream-release
ダウンロードしておいたOracle Linuxのレポジトリ関連のRPMをインストールする。
sudo rpm -ivh *.rpm
ociregionファイルを作る。
sudo touch /etc/dnf/vars/ociregion
CentOS 8 Streamのレポジトリを削除する。
sudo dnf remove centos-stream-repos -y
レポジトリリストを確認する。
sudo dnf repolist
パッケージをOracle Linuxのものに入れ替える。
sudo dnf --refresh distro-sync -y
Oracle Linux 独自の Kernel(Unbreakable Enterprise Kernel)をインストールする。
sudo dnf install kernel-uek -y
kernel-mlをインストールする。
新しいハードウェアを使っていると、どうしてもデバイスドライバの都合、新しいカーネルを使わないと起動できないという場面に遭遇する。
そこで、以下にOracle Linux 8で、現在のMainlineである、Linux 6.0.xのカーネルをインストールする手順を記載しておく。
レポジトリのインストール
sudo dnf install -y https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
Main Stream(6.0)のカーネルをインストールする
sudo dnf --enablerepo=elrepo-kernel install -y kernel-ml
grub.cfgを作り直す。
sudo grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
起動時のカーネルのメニューを確認する。
sudo grub2-editenv list
grub.cfgファイルの存在を確認する。
sudo ls -l /etc/grub2-efi.cfg
リンク先のファイルの存在があるか、確認する。
sudo ls -l /boot/efi/EFI/redhat/grub.cfg
新しくインストールしたkernel-mlが起動時に選択されるようにする。
sudo grub2-set-default 0
再起動させる。
sudo reboot
現在のカーネル関係のパッケージを確認する。
sudo rpm -qa | grep "^kernel"
古いカーネルをアンインストールする。
sudo dnf remove kernel
kernel-toolsをアンインストールする。
sudo dnf remove kernel-tools
デフォルトのカーネルを設定する。
sudo vi /etc/sysconfig/kernel
以下のように書き換える。
# UPDATEDEFAULT specifies if kernel-install should make
# new kernels the default
UPDATEDEFAULT=yes
#DEFAULTKERNEL specifies the default kernel package type
#DEFAULTKERNEL=kernel-uek
DEFAULTKERNEL=kernel-ml
この記事の記述に際しては、「CentOS 8 を Oracle Linux 8 に切り替える」を参考にさせて頂いた。
著者の@shakemidさんに感謝。