スポンサーリンク
年末に迫るCentOSの終了によりその後どうするかを関係者が気に病んでいるが、
Alma Linuxというディストリビューションが後継に名乗り出て、人気が出てきているようだ。
社会を支えるインフラになったLinuxのまとめはこちら。
先日書いたようにCentOSの後継に名乗り出たAlma Linux。CloudLinuxという会社が提供すると宣言している。
詳細は下記リンクを参照。
Rocky Linuxの状況を最近見ていないが、Alma Linuxは2021年第1四半期のリリースをめざして着実に
進んでいるようだ。今日は正式リリース前のAlma Linux 8.3 RCを使って実験してみた。
興味があるのは2つ。
順番に見て行く。
どう評価すればいいかな。ちょっと考えてみて、何らかのアプリケーションを実行して停止するとかなければ
問題ないだろうと判断すればいいかな。
アプリケーションのインストールは手間がかかるので次回にパスして、今回はOSのインストールだけやってみた。
インストール先は簡単に用意できる自作PC上のVMとして、ここにいつものようにOSからインストール
することとする。
まずはAlma LinuxのサイトからISOファイルをダウンロードする。
CentOSのダウンロード時間と比較して2,3倍かかった。おそらくCentOSのようにミラーサイトがいくつも
あるわけではないのだろう。初期のうちはこんなものだろうな。
ダウンロードしたISOを使い、コア数1、メモリは1GBでISOからインストールした。
インストール時に設定したパッケージは、サーバ(GUI使用)で右のその他のパッケージをすべて選択している。
インストール中の画面はこういう感じだ。左上にAlma Linuxと表示がある。
完了して再起動すると、ライセンスを確認する画面が出る。チェックすると起動できる。
あっけなく終わった。ちなみにこの手順は後述するがCentOS8.3ト全く同じで、ライセンス確認の画面が
異なる程度だった。
さて、当面の関心はこっちだろう。Alma LinuxではCentOSから容易に移行できると謳っている。
どのようにするのか?興味がある。
まずは試してみよう。こちらもアプリケーションの用意は面倒なので、OSだけで評価する。
先ほどと同様にまずVMにCentOS8.3をインストールして準備する。
パッケージはAlma Linuxと同じ構成、インストール画面も同様だ。(そりゃそうだろうが)
パッケージは日々更新されていくので、作業当日の最新版になるように
sudo yum update
で更新しておく。
移行中に停止しなくてよいというような記述があったと思う。その確認のため、移行作業中に
何か動かしておこう。ここでは簡単にシェルスクリプトで画面に文字を表示し続けるものとした。
loop.sh
#!/bin/bash
while :
do
echo @;
done
起動するとひたすら左端に@を表示し続ける。
先ほどのAlma Linuxのサイトからたどって下記から移行スクリプトをダウンロードする。
手順は下記の通りだ。
1 Make a backup of the system. We didn’t test all possible scenarios so there is a risk that something goes wrong. In such a situation you will have a restore point.
2 Disable Secure Boot because AlmaLinux doesn’t support it yet (almbz#3). Detailed instructions for bare metal hardware can be found here. Instructions for VMWare are available here.
3 Download the almalinux-deploy.sh script:
$ curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh
4 Run the script and check its output for errors. You will need to reboot the system at the end.
$ sudo bash almalinux-deploy.sh
…
Migration to AlmaLinux is completed, please reboot the system
意訳する。
成功したらサーバを再起動する。
さてやってみるか。
まず、GUIの方でターミナルを開き、先のloop.shを実行しておく。たいした負荷ではないが。
続いてTeratermでログインし、先にZIPから取り出したalmalinux-deploy.shをVMにアップロードする。
そして実行する。
[irvine@centos8-alma ~]$ sudo bash almalinux-deploy.sh
[sudo] irvine のパスワード:
Check root privileges OK
Check Secure Boot disabled OK
Check centos-8.x86_64 is supported OK
(途中略)
Install almalinux-indexhtml package OK
メタデータの期限切れの最終確認: 0:00:23 時間前の 2021年03月03日 22時27分25秒 に 実施しました。
エラー:
問題: 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
うーん、やっぱりうまくいかないねぇ。
さてさて、どうやって解決しようか。
まずはエラーコードで検索しよう。
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
この部分をそのまま検索するとヒットした。
just a plugin to facilitate Red Hat support channels. It's not needed in AlmaLinux, so you should just remove it before proceeding.
sudo dnf remove libreport-plugin-rhtsupport-2.9.5-15.el8.x86_64
エラーになったパッケージはRHELのサポート用という事で、Alma Linuxには不要。そうか。そういう物か。
書かれているようにコマンドを入力して削除した。さて、再度実行だ。
[irvine@centos8-alma ~]$ sudo bash almalinux-deploy.sh
Check root privileges OK
Check Secure Boot disabled OK
Check almalinux operating system is supported ERROR
うーん、今度はAlma Linuxではないってか?うーん。
シェルスクリプトで容易に実行という手ではだめだったので、別の手を考える。
先のサイトを読み進めていくと方法が2つ書かれている。
英語ではあるがコマンドを読むだけなのでWEBを見てもらってもいいが、下記手順で更新する。
sudo dnf update -y
reboot
sudo rpm -e --nodeps centos-backgrounds centos-indexhtml centos-gpg-keys centos-linux-release centos-linux-repos centos-logos
エラー: パッケージ centos-backgrounds はインストールされていません。
エラー: パッケージ centos-indexhtml はインストールされていません。
エラー: パッケージ centos-gpg-keys はインストールされていません。
エラー: パッケージ centos-linux-release はインストールされていません。
エラー: パッケージ centos-linux-repos はインストールされていません。
エラー: パッケージ centos-logos はインストールされていません。
sudo rpm -ivh https://repo.almalinux.org/almalinux/8.3-beta/BaseOS/x86_64/os/Packages/almalinux-release-8.3-2.el8.x86_64.rpm
Verifying… ################################# [100%]
準備しています… ################################# [100%]
パッケージ almalinux-release-8.3-3.el8.x86_64 (almalinux-release-8.3-2.el8.x86_64 より新しいもの) は既にインストールされています。
ファイル /etc/almalinux-release (パッケージ almalinux-release-8.3-2.el8.x86_64 から) は、パッケージ almalinux-release-8.3-3.el8.x86_64 からのファイルと 競合しています。
ファイル /etc/rpm/macros.dist (パッケージ almalinux-release-8.3-2.el8.x86_64 から) は、パッケージ almalinux-release-8.3-3.el8.x86_64 からのファイルと競 合しています。
ファイル /etc/system-release-cpe (パッケージ almalinux-release-8.3-2.el8.x86_64 から) は、パッケージ almalinux-release-8.3-3.el8.x86_64 からのファイルと競合しています。
ファイル /etc/yum.repos.d/almalinux.repo (パッケージ almalinux-release-8.3-2.el8.x86_64 から) は、パッケージ almalinux-release-8.3-3.el8.x86_64 からのファイルと競合しています。
ファイル /usr/lib/os-release (パッケージ almalinux-release-8.3-2.el8.x86_64 から) は、パッケージ almalinux-release-8.3-3.el8.x86_64 からのファイルと競合しています。
ここまでは割とすんなり進んだ。
sudo dnf distro-sync -y
3000くらいのパッケージを更新する。およそ1時間強かかって終わった。
途中でloop.shを動かしていたGUIがログイン画面に戻っていたが、いつの間にかAlma Linuxの表記になっていた。
移行できたようだ。
自分がやったケースだけなのかもしれないが、最新のスクリプト実行で移行完了!とはいかず、
自分でコマンドを叩く羽目になった。ただその手順でエラーになることはなかったので問題はない。
面倒なだけだ。
あと、期待していたオンラインでの移行はできないようだ。手順にあるように再起動を必ず行うことになる。
念のためなのか必須なのかは分からないが、やらなければできないのであればサービス提供中のサーバを
移行する場合はかならずメンテナンス時間を設定して再起動が必要だ。ブログのような個人レベルでやっている
ものはたいした問題にならないが、社会で認知されえいるような大規模なシステムの場合は複数台の
サーバを順番に更新してサービスを止めないか、あるいはメンテナンス時間を設定してサービスを止める
決断が必要だ。
OSを変えるのだから、そのくらいのことはやはり必要なのだろう。
長くなったので続きは後日。
PR