CentOS 8からRocky Linux 8へ移行を試してみた

サーバー

CentOS 8は、2021年12月31日でサポートが終了します。
サーバーの運用を継続する場合は、移行先のOSディストリビューションを検討する必要があります。CentOS 8 移行先候補を実際に検討してみて最有力候補にマイグレーションを試してみた結果をお知らせします。

CentOS 8 移行先の有力な候補

  • CentOS Stream
  • Alma Linux
  • Rocky Linux
CentOS Stream
AlmaLinux OS - Forever-Free Enterprise-Grade Operating System
https://rockylinux.org/ja/

CentOS 8 移行先候補の解説

  • CentOS Stream
    • オープンソース・コミュニティのメンバーが Red Hat の開発者と連携して Red Hat Enterprise Linux の開発プラットフォームです
    • RHELのアップストリーム(Upstream)
    • 従来のCentOS Linuxとは異なり RHELのダウンストリームではありません
    • 商用環境としては、適切ではありません
  • Alma Linux
    • RHELのダウンストリーム(Downstream)
    • CentOS Linux安定版リリースの廃止によって残されたギャップを埋める、オープンソースのコミュニティ主導のLinuxオペレーティングシステムです
  • Rocky Linux
    • RHELのダウンストリーム(Downstream)
    • CentOSの創設者であるGregory Kurtzer氏が立ち上げたプロジェクトによる無償のRHELクローンです

従って、移行先の候補として、Alma LinuxあるいはRocky Linuxを選択することになります。

CentOS 8からの移行先として、最有力候補(筆者の私見?)であるRocky Linux 8 へのマイグレーションを試してみます。

公式の手順

公式の手順を参考にします。

  • How to Migrate to Rocky Linux from CentOS Stream, CentOS, Alma Linux, RHEL, or Oracle Linux
Migrating To Rocky Linux - Documentation

事前確認

作業前に、OS情報(リリース・カーネル)を確認します。

# cat /etc/redhat-release
CentOS Linux release 8.4.2105
# uname -r
4.18.0-305.19.1.el8_4.x86_64

マイグレーション

それでは、マイグレーションを実施します。
  1. マイグレーションツールの取得
  2. マイグレーションツールの実行

マイグレーションツールの取得

ここでは、gitを利用したマイグレーションツールの取得をしています。

git clone https://github.com/rocky-linux/rocky-tools.git
取得したら、ツール「migrate2rocky.sh」に実行権限を付与します。
cd rocky-tools/migrate2rocky
chmod +x migrate2rocky.sh
以上で準備ができました。

マイグレーションツールの実行

では、マイグレーションツールをroot権限で実行します。

ここでは、sudoコマンドを利用します。

sudo ./migrate2rocky.sh -r

あとは、正常終了するのを待つだけです。

終了すると再起動を要求されますので、再起動します。

sudo shutdown -r now

マイグレーションツールの挙動解説

マイグレーションルールの実行中に出力されるメッセージから挙動を解説します。

Removing dnf cache
Preparing to migrate CentOS Linux 8 to Rocky Linux 8.
  • dnfキャッシュを削除
Determining repository names for CentOS Linux 8…..
Found the following repositories which map from CentOS Linux 8 to Rocky Linux 8:
CentOS Linux 8 Rocky Linux 8
appstream appstream
baseos baseos
extras extras
  • CentOS 8のレポジトリーからRocky Linux 8のリポジトリーをマップ
Getting system package names for CentOS Linux 8……….
Found the following system packages which map from CentOS Linux 8 to Rocky Linux 8:
CentOS Linux 8 Rocky Linux 8
centos-logos-ipa rocky-logos-ipa
centos-backgrounds rocky-backgrounds
centos-gpg-keys rocky-gpg-keys
centos-logos rocky-logos
centos-indexhtml rocky-indexhtml
centos-linux-release rocky-release
centos-logos-httpd rocky-logos-httpd
centos-linux-repos rocky-repos
  • マップされるシステムパッケージ名
Getting list of installed system packages.
We will replace the following CentOS Linux 8 packages with their Rocky Linux 8 equivalents
Packages to be Removed Packages to be Installed
centos-gpg-keys rocky-gpg-keys
centos-linux-release rocky-release
centos-linux-repos rocky-repos
  • CentOSLinux8パッケージを同等のRockyLinux8パッケージに置き換えます
In addition to the above the following system packages will be removed:
centos-linux-release
centos-linux-release
  • 削除されるシステムパッケージ
Getting a list of enabled modules for the system repositories.
Excluding modules:
libselinux-python:2.8
Found the following modules to re-enable at completion:
perl-IO-Socket-SSL:2.066
perl-libwww-perl:6.34
perl:5.26
・完了時に再度有効にするモジュールの検出
Running dnf update before we attempt the migration.
  • Rocky Linux 8にマイグレーションする前に、まずCentOS 8のアップデートが実施される
ここは注意が必要ですね。
最新化したくない場合には、マイグレーションツールは使用できないことになります。
しかし、Rocky Linux 8は、RHEL 8.4のダウンストリームなので、8.4よりも低いパッケージはありません。
従って、マイグレーションツールを利用する場合も、Rocky Linux 8を新規導入しても、RHEL 8.4がベースとなることを認識しておく必要があります。
CentOS 8のアップデートのメッセージは省略します。
Complete!
  • CentOS 8のアップデートが完了です
Added rockyappstream repo from https://dl.rockylinux.org/pub/rocky/8/AppStream/x86_64/os/
Added rockybaseos repo from https://dl.rockylinux.org/pub/rocky/8/BaseOS/x86_64/os/
  • ここからRocky Linux 8のレポジトリー関連の処理です
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
rocky-gpg-keys noarch 8.4-34.el8 rockybaseos 11 k
rocky-release noarch 8.4-34.el8 rockybaseos 20 k
rocky-repos noarch 8.4-34.el8 rockybaseos 13 k
Removing:
centos-gpg-keys noarch 1:8-3.el8 @baseos 3.3 k
centos-linux-release noarch 8.4-1.2105.el8 @anaconda 25 k
centos-linux-repos noarch 8-3.el8 @baseos 26 k
Transaction Summary
================================================================================
Install 3 Packages
Remove 3 Packages
Complete!
  • Rocky Linux 8のレポジトリーが導入され、CentOS 8のレポジトリ―が削除されました
Syncing packages
  • CentOS 8で導入されていたパッケージについて、Rocky Linux 8のパッケージに同期されます
    • その際、upgrade/reinstall/downgradeのパッケージに分類されて処理されます
Complete!
  • パッケージ関連は完了です。
Generating grub configuration file …
File descriptor 3 (/dev/pts/0) leaked on vgs invocation. Parent PID 87564: /usr/sbin/grub2-probe
File descriptor 4 (/dev/pts/0) leaked on vgs invocation. Parent PID 87564: /usr/sbin/grub2-probe
File descriptor 5 (/var/log/migrate2rocky.log) leaked on vgs invocation. Parent PID 87564: /usr/sbin/grub2-probe
File descriptor 3 (/dev/pts/0) leaked on vgs invocation. Parent PID 87564: /usr/sbin/grub2-probe
File descriptor 4 (/dev/pts/0) leaked on vgs invocation. Parent PID 87564: /usr/sbin/grub2-probe
File descriptor 5 (/var/log/migrate2rocky.log) leaked on vgs invocation. Parent PID 87564: /usr/sbin/grub2-probe
File descriptor 3 (/dev/pts/0) leaked on vgs invocation. Parent PID 90515: /usr/sbin/grub2-probe
File descriptor 4 (/dev/pts/0) leaked on vgs invocation. Parent PID 90515: /usr/sbin/grub2-probe
File descriptor 5 (/var/log/migrate2rocky.log) leaked on vgs invocation. Parent PID 90515: /usr/sbin/grub2-probe
File descriptor 3 (/dev/pts/0) leaked on vgs invocation. Parent PID 90515: /usr/sbin/grub2-probe
File descriptor 4 (/dev/pts/0) leaked on vgs invocation. Parent PID 90515: /usr/sbin/grub2-probe
File descriptor 5 (/var/log/migrate2rocky.log) leaked on vgs invocation. Parent PID 90515: /usr/sbin/grub2-probe
Adding boot menu entry for EFI firmware configuration
done
BootCurrent: 0003
BootOrder: 0005,0003,0000,0001,0002,0004
Boot0000* EFI Virtual disk (0.0)
Boot0001* EFI VMware Virtual SATA CDROM Drive (0.0)
Boot0002* EFI Network
Boot0003* CentOS Linux
Boot0004* EFI Internal Shell (Unsupported option)
Boot0005* Rocky Linux
Done, please reboot your system.
  • grub関連とboot関連の処理も完了です
  • 再起動を要求されます
A log of this installation can be found at /var/log/migrate2rocky.log
  • マイグレーションツールのログファイルです

事後確認

再起動後に、OS情報(リリース・カーネル)を確認します。

cat /etc/redhat-release
Rocky Linux release 8.4 (Green Obsidian)
uname -r
4.18.0-305.19.1.el8_4.x86_64
更にRocky Linux 8のレポジトリを確認しておきます。
ls -l /etc/yum.repos.d/
-rw-r–r–. 1 root root 700 11月 2 05:53 Rocky-AppStream.repo
-rw-r–r–. 1 root root 685 11月 2 05:53 Rocky-BaseOS.repo
-rw-r–r–. 1 root root 1753 9月 13 18:31 Rocky-Debuginfo.repo
-rw-r–r–. 1 root root 350 9月 13 18:31 Rocky-Devel.repo
-rw-r–r–. 1 root root 685 11月 2 05:53 Rocky-Extras.repo
-rw-r–r–. 1 root root 721 9月 13 18:31 Rocky-HighAvailability.repo
-rw-r–r–. 1 root root 680 9月 13 18:31 Rocky-Media.repo
-rw-r–r–. 1 root root 670 9月 13 18:31 Rocky-NFV.repo
-rw-r–r–. 1 root root 680 9月 13 18:31 Rocky-Plus.repo
-rw-r–r–. 1 root root 705 9月 13 18:31 Rocky-PowerTools.repo
-rw-r–r–. 1 root root 671 9月 13 18:31 Rocky-RT.repo
-rw-r–r–. 1 root root 736 9月 13 18:31 Rocky-ResilientStorage.repo
-rw-r–r–. 1 root root 2335 9月 13 18:31 Rocky-Sources.repo

まとめ

マイグレーション作業は、公式のマイグレーションツールが用意されており簡単ですね。
しかし、以下の点は注意が必要です。
dnf以外で導入しているソフトウェアには対応していないこと。
タイトルとURLをコピーしました