CentOS 8からAlmaLinuxに変換する

本記事はAlmaLinux8.3 RC1を元にしており、AlmaLinux8.3正式版リリース後に再検証を行っています。記事はこちらです→https://tire-retire.blogspot.com/2021/05/centos-8almalinux-8202155.html

ご注意

AlmaLinuxのバージョンはRC1、almalinux-deploy.shは2021/3/4時点のものです。

手順

CentOS 8をAlmaLinuxに変換するには、次の手順を実行します。

1.いつでも復元できるようにシステムのバックアップを作成しましょう。考えられるすべてのシナリオをテストできないため、問題が発生するリスクがあります。

2.AlmaLinuxはまだセキュアブートをサポートしていないため、セキュアブートを無効にします。

3.あらかじめ変換でひっかからないよう下準備をしておきます。(後述)

4.almalinux-deploy.shスクリプトをダウンロードします。

$ curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh

5.スクリプトを実行し、その出力にエラーがないか確認します。

$ sudo bash almalinux-deploy.sh
  ...
  Migration to AlmaLinux is completed

6.システムが正常に変換されたことを確認します。

# リリースファイルの確認
$ cat /etc/redhat-release 
AlmaLinux release 8.3 (Purple Manul)

# システムがデフォルトでAlmaLinuxカーネルを起動することを確認
$ sudo grubby --info DEFAULT | grep AlmaLinux
title="AlmaLinux (4.18.0-240.el8.x86_64) 8"

試してみた

実際にどうなるか試してみました。

スペックなど

  • CentOS: 8.3.2011(ISOはCentOS-8.3.2011-x86_64-dvd1.iso)
  • メモリ: 4GB
  • ディスク: 40GB
  • ベースタイプ: サーバー(GUI使用)
  • 選択した環境用のその他のソフトウェア: 全部チェック

できるだけてんこ盛りにパッケージをインストールし、インストール後にパッケージのアップデートはしない状態で変換してみます。 また、インストール後の各プログラム設定は行いません。(なので参考にならないかもしれません...。)

パッケージはてんこ盛りで

できるだけ有効に

ロゴも変わるのでしょうか。

変換前のバージョン確認

CentOS 8.3.2011です。
# ls -al /etc/*-release
-rw-r--r--. 1 root root 30 11月 11 00:49 /etc/centos-release
lrwxrwxrwx. 1 root root 21 11月 11 00:49 /etc/os-release -> ../usr/lib/os-release
lrwxrwxrwx. 1 root root 14 11月 11 00:49 /etc/redhat-release -> centos-release
lrwxrwxrwx. 1 root root 14 11月 11 00:49 /etc/system-release -> centos-release
#
# cat /etc/system-release
CentOS Linux release 8.3.2011

変換スクリプトのダウンロードと実行

ここでひっかかりました。
# curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  9607  100  9607    0     0  16707      0 --:--:-- --:--:-- --:--:-- 16678
#
# sudo bash almalinux-deploy.sh
Check root privileges                                                 OK
Check Secure Boot disabled                                            OK
Check centos-8.x86_64 is supported                                    OK
Download RPM-GPG-KEY-AlmaLinux                                        OK
Import RPM-GPG-KEY-AlmaLinux to RPM DB                                OK
Download almalinux-release package                                    OK
Verify almalinux-release package                                      OK
Remove centos-linux-release package                                   OK
Remove centos-gpg-keys package                                        OK
Remove centos-linux-repos package                                     OK
Remove libreport-plugin-rhtsupport package                            OK
Verifying...                          ################################# [100%]
準備しています...              ################################# [100%]
更新中 / インストール中...
   1:almalinux-release-8.3-3.el8      ################################# [100%]
Install almalinux-release package                                     OK
Remove centos-backgrounds package                                     OK
Install almalinux-backgrounds package                                 OK
Remove centos-indexhtml package                                       OK
Install almalinux-indexhtml package                                   OK
メタデータの期限切れの最終確認: 0:00:12 時間前の 2021年03月06日 15時00分40秒 に実施しました。
エラー:
 問題: package libreport-rhel-2.9.5-15.el8.x86_64 requires libreport = 2.9.5-15.el8, but none of the providers can be installed
  - libreport-2.9.5-15.el8.x86_64 does not belong to a distupgrade repository
  - problem with installed package libreport-rhel-2.9.5-15.el8.x86_64
(インストール不可のパッケージをスキップするには、'--skip-broken' を追加してみてください または、'--nobest' を追加して、最適候補のパッケージのみを使用しないでください)
Run dnf distro-sync -y. Exit code: 1                                  ERROR
Run dnf distro-sync -y                                                OK

libreport-rhel-2.9.5-15.el8.x86_64はdistupgradeリポジトリに属していないという内容…ABRT(自動バグレポートツール)関連のようですので、パッケージをアンインストールしてみます。

# sudo dnf remove libreport-rhel-2.9.5-15.el8.x86_64
依存関係が解決しました。
===================================================================================================================================
 パッケージ                                 アーキテクチャー            バージョン                            リポジトリー   サイズ
===================================================================================================================================
削除中:
 libreport-rhel                             x86_64                      2.9.5-15.el8                          @AppStream       39 k
依存関係パッケージの削除:
 abrt-cli                                   x86_64                      2.10.9-20.el8                         @AppStream          0
未使用の依存関係の削除:
 abrt-addon-kerneloops                      x86_64                      2.10.9-20.el8                         @AppStream       82 k
 abrt-addon-pstoreoops                      x86_64                      2.10.9-20.el8                         @AppStream       16 k
 abrt-addon-vmcore                          x86_64                      2.10.9-20.el8                         @AppStream       46 k
 abrt-addon-xorg                            x86_64                      2.10.9-20.el8                         @AppStream       55 k
 abrt-tui                                   x86_64                      2.10.9-20.el8                         @AppStream       30 k

トランザクションの概要
===================================================================================================================================
削除  7 パッケージ

解放された容量: 266 k
これでよろしいですか? [y/N]: y
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                                                            1/1
...
  検証             : libreport-rhel-2.9.5-15.el8.x86_64                                                                         7/7
Installed products updated.

削除しました:
  abrt-addon-kerneloops-2.10.9-20.el8.x86_64        abrt-addon-pstoreoops-2.10.9-20.el8.x86_64        abrt-addon-vmcore-2.10.9-20.el8.x86_64
  abrt-addon-xorg-2.10.9-20.el8.x86_64              abrt-cli-2.10.9-20.el8.x86_64                     abrt-tui-2.10.9-20.el8.x86_64
  libreport-rhel-2.9.5-15.el8.x86_64

完了しました!

もう一度実行してみます。

# dnf distro-sync -y

今度はエラーもなく進み、パッケージの更新処理がはじまりました。ほぼ全部のパッケージ更新?結構時間がかかりました。

再起動

リブートしてみます。

AlmaLinuxが顔を出してきました。

ロゴも変わりましたね。

ログインすると、派手な壁紙に変わりました。

確認

確認してみます。

# ls -al /etc/*release
-rw-r--r--. 1 root root 40  2月 15 16:20 /etc/almalinux-release
lrwxrwxrwx. 1 root root 17  2月 15 16:20 /etc/centos-release -> almalinux-release
lrwxrwxrwx. 1 root root 21  2月 15 16:20 /etc/os-release -> ../usr/lib/os-release
lrwxrwxrwx. 1 root root 17  2月 15 16:20 /etc/redhat-release -> almalinux-release
lrwxrwxrwx. 1 root root 17  2月 15 16:20 /etc/system-release -> almalinux-release
# cat /etc/system-release
AlmaLinux release 8.3 RC (Purple Manul)
#
# sudo grubby --info DEFAULT | grep AlmaLinux
title="AlmaLinux (4.18.0-240.15.1.el8_3.x86_64) 8.3 (Purple Manul)"

しっかり変わりました。AlmaLinuxのバージョンがRC1なので正直なんともいえませんが、変換スクリプトを実行するまえに、パッケージ削除など下準備が必要なケースがありそうです。

個人的には、実運用で動いている環境に対しては変換をかけることはせず、新たに構築しなおすほうが安心します。変換は「もう詰んだわリーサルウェポンだえぇい」的に見ています。

コメント