AR ホームベーカリー

オイラのアウトプット用ホームベーカリー!

CentOS8 から RockyLinux に移行する RC 版

公式のダウンロードページに記載されている通り「RC だから本番 (≒商用) 環境の利用に持ち込むなよ!」という状態なので、手元の開発環境とかで動作するか確認してもろて、という状態ですね。

RockyLinux の RC が出た

出てました。

rockylinux.org

いまんとこ CentOS 8.3 のみサポートしとるらしいです。

CentOS からの移行

この centos2rocky.sh を使えばよさそうです。 という訳で使ってみたのですが、今の所アナウンスされてない存在かつ、実装されているオプションが説明通りの動作じゃないっぽいので以下に記載します。

github.com

ちなみに Issue かどこかで見たのですが、「今は CentOS にしか対応してないけど、今後その他のディストリにも対応範囲を広げたい」と言っているので RHEL 派生の他ディストリはワンチャンあるかも? (Alma -> Rocky みたいなの想定してるのかな)

CentOS2Rocky

Usage にも書かれている通り、現在実装されている動作オプションは以下。

github.com

オプション名 内容
-h ヘルプを表示します、表示内容は README の Usage とほぼ同じ模様
-r スクリプトを実行した CentOS 環境を RockyLinux 環境に変換します
-V 切替確認
-R すべてのパッケージの再インストール

現状、変換を実行すると (Base に含まれる) すべてのパッケージが dnf reinstall されるので、作業完了したら reboot を投げて新しいカーネルを読み込ませる必要があります。

needs-restarting でめっちゃ警告でると思われるのでね、やっといてね。

-h

[vagrant@localhost ~]$ sudo ./centos2rocky.sh -h

README の Usage とほぼ同じなので見どころは特には。

-r

[vagrant@localhost ~]$ sudo ./centos2rocky.sh -r

通常、環境を変換する場合はこのコマンドと思われます。

AlmaLinux の変換はリポジトリを切り替えるだけだったのですが、 RockyLinux はリポジトリを切り替えた上で、標準リポジトリに含まれる (と思われる) パッケージをすべて再インストールする ( -R オプションに期待する動作) ようです。

-V

これが問題で、個人的には「スクリプトを実行している CentOS 環境と、移行先になる RockyLinux の間で RPM パッケージの確認を行う」だけで、実際に変換はされないと思ってたんですね。

まぁ思ってただけで試してよかったね、という感じで本日現在だと確認もなんも特になく、普通に処理が始まって変換されてしまいます。

[vagrant@localhost ~]$ sudo ./centos2rocky.sh -V

#snip#

Complete!
Last metadata expiration check: 0:03:51 ago on Fri 07 May 2021 07:23:21 PM JST.
Dependencies resolved.
Nothing to do.
Complete!
mkdir: cannot create directory ‘/root/convert’: File exists
[vagrant@localhost ~]$ sudo ls -lha /root/convert
合計 100K
drwxr-xr-x  2 root root 111  57 19:22 .
dr-xr-x---. 4 root root 201  315 04:28 ..
-rw-r--r--  1 root root 96K  57 19:22 localhost.localdomain-rpm-list-begin.log
-rw-r--r--  1 root root 470  57 19:22 localhost.localdomain-rpm-list-verified-begin.log
[vagrant@localhost ~]$ cat /etc/system-release
Rocky Linux release 8.3

Complete! じゃないんじゃ。

github.com

ここで false がセットされてるので大丈夫かと思ったんですがまあ全部実行されましたね……。

-R

[vagrant@localhost ~]$ sudo ./centos2rocky.sh -R

全てのパッケージをインストールし直すとのことなのですが、現在の実装では -r -R ともに reinstall_all_rpms=true をセットしている同じ動作なので、どっちを選んでも変わりなさそうです。

github.com

正式リリース前

なので、マー多少のことには目をつぶってもろて、という感じになりそうです。

-V の動作だけどういう想定なのか聞こうと思ったけど github のアカウント情報忘れてしまったね、どうすっかな。