西川和久の不定期コラム

終了するCentOSの後釜に最適なRHELクローンの国産Linux! 「MIRACLE LINUX 8.4」

動作イメージ

 サイバートラストは10月4日、RHEL 8.4をベースに開発した国産Linux「MIRACLE LINUX 8.4」の無償提供を開始した。CentOS 8からのマイグレーション・スクリプトが用意されており、実際試した結果なども含めご紹介したい。

MIRACLE LINUXとは

 MIRACLE LINUXの歴史はかなり昔まで遡る。ウィキペディアによると、Miracle Linux Standard Edition Version1.0@初期版は2000年9月。この時はベースOSがTurboLinux Server 日本語版 6.1だった。確か筆者はこの時に試しでインストールした記憶がある。

 そして2001年5月にリリースしたMiracle Linux Standard Edition Version 2.0からRed Hat Enterprise Linuxベースに。2012年1月にリリースしたMIRACLE LINUX V6以降、RHELクローンとなっている。実に21年もの歴史があるわけだ。この間、社名もミラクル・リナックス株式会社から現在のサイバートラスト株式会社に変わっている。

 今回注目されたのは、RHELクローンで有名なCentOSが8以降RHELを追尾しないことになり、「それは困った!」というタイミングで従来有償で提供していたMIRACLE LINUXを8.4から無償提供すると発表があったためだ。まさにCentOSユーザーにとって渡りに船的な存在となった。

インストール

 インストールはRHELクローンなのでCentOSなども含め同じだ。インストール中のGUI、左側のロゴなどが違う程度。今回は画面キャプチャを撮る関係でParallels Desktopを使いVMを作成した。ホストはMacBook Pro 16@2019(Core i7-9750H/16GB/512GB)。VMに2コア/2GB/64GBを割り当てている。

 ダウンロードはここの[ダウンロード]から。(執筆時)MIRACLELINUX-8.4-rtm-x86_64.iso(約10GB)が保存されているので、USBメモリなどへ焼くなり、Parallels Desktopで直接isoファイルを指定するなど準備する。

 後はそのメディアからブートすればCUIのメニューが現れるので“Install MIRACLE LINUX 8.4”を選択、以降はGUIになりパネルの内容に従って設定する。

 設定箇所は主に赤文字になっている、インストール先、rootパスワード、ユーザーの作成、そしてネットワークとホスト名などを適当に入力。赤文字がなくなると[インストールの開始]ボタンが有効になるので、インストール開始となる。

初期ブート。Install MIRACLE LINUX 8.4を選択
言語設定
日本語へ変更
インストール概要
ユーザー設定
ネットワーク設定
インストール概要。先に加えてrootとKDUMP(無効)などを設定済み
インストール中
完了。再起動

 無事終わって再起動するとライセンス認証などを経てMIRACLE LINUXが起動する。また初めてのログイン時は、そのユーザー固有の環境などを設定するパネルを表示する(言語、キーボードレイアウト、プライバシー、Googleなど主要なアカウント)。一連の流れを掲載したので参考にしていただければと思う。特に難しい部分もないので、Windowsをインストールした経験のある人なら大丈夫だろう。

初期セットアップ/ライセンス認証(同意していません)
初期セットアップ/ライセンス認証/同意にチェック
初期セットアップ/ライセンス認証(同意)
先にセットしたユーザーでログイン
ユーザー毎の環境設定/言語
ユーザー毎の環境設定/IME
ユーザー毎の環境設定/位置情報サービス
ユーザー毎の環境設定/Googleなどのアカウント設定(必要に応じて)
準備完了

 参考までにWindowsはProの場合、Hyper-Vマネージャーを使いisoイメージから簡単にインストールできる(Core i5-10210U/32GB/500GB@NUC「NUC10i5FNH」、10 Proで確認)。仮想マシンの作成でisoイメージを選択、この時、[Windowsのセキュアブートを有効にします]のチェクを外す。作成後、[設定の編集]で適当に好みの環境にした後起動。以降は先と同じとなる。

Hyper-Vマネージャー > 仮想マシンの作成 > isoイメージを選択[Windowsのセキュアブートを有効にします]のチェクを外す
新しい仮想マシン作成 > [設定の編集]で適当に好みの環境へ
初期ブート。Install MIRACLE LINUX 8.4を選択
インストール中。セキュアブートが無効になっていることを確認

MIRACLE LINUX 8.4起動

 RHEL、そしてクローンも含めどの程度デスクトップ環境が使われているか不明だが、セットアップ時、なにも指定しないとデスクトップを表示する。

 初回起動時、“初めて使う方へ”を表示。「アプリケーションを起動する」、「タスクを切り替える」、「ウィンドウとワークスペースを使用する」の動画があるので、初めて触る人は一通り観るとよいだろう。

 筆者は日頃CUI@sshばかりなので久々に最新Linuxのデスクトップ環境を触ったが、あまり昔と代わり映えしないように思える。

 基本Gnomeを使っているので、操作系はUbuntuなどと同じだ。昔はKDEも選べたような気もするが、現在はこちらが主流なのだろう。WebブラウザはFirefox。IMEも動作している。

 いずれにしてもRHEL系はサーバー用途が圧倒的に多いと思われるので、この状態で使う人は少ないのではないだろうか。

初めて使う方へ
デスクトップ/アクティビティ(右側はワークスペース一覧)
sudo yum update
top
df / ifconfig
ブラウザはFirefox
アプリ一覧
アプリ一覧 / ユーティリティ・フォルダ

 標準設定で起動するとSSHサーバーも動いているのでホストOS(macOS)のコンソールからsshコマンドでログインできることを確認。結局これを使う時間の方が長かった(笑)。

% ssh knishika@10.211.55.4
The authenticity of host '10.211.55.4 (10.211.55.4)' can't be established.
ECDSA key fingerprint is SHA256:eQCyIxP3aMbateOJCveinoVamwTALsrSNWABlSacanQ.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '10.211.55.4' (ECDSA) to the list of known hosts.
knishika@10.211.55.4's password:
Activate the web console with: systemctl enable --now cockpit.socket

Last login: Fri Oct 22 09:03:13 2021
[knishika@MIRACLELINUX-8 ~]$ ls -l
合計 32
drwxr-xr-x. 2 knishika knishika 4096 10月 22 09:03 ダウンロード
drwxr-xr-x. 2 knishika knishika 4096 10月 22 09:03 テンプレート
drwxr-xr-x. 2 knishika knishika 4096 10月 22 09:03 デスクトップ
drwxr-xr-x. 2 knishika knishika 4096 10月 22 09:03 ドキュメント
drwxr-xr-x. 2 knishika knishika 4096 10月 22 09:03 ビデオ
drwxr-xr-x. 2 knishika knishika 4096 10月 22 09:03 音楽
drwxr-xr-x. 2 knishika knishika 4096 10月 22 09:03 画像
drwxr-xr-x. 2 knishika knishika 4096 10月 22 09:03 公開
[knishika@MIRACLELINUX-8 ~]$

 操作する限り、普段仕事で使っているRHELやCentOSと変わらない。クローンなので当たり前なのだが、その当たり前のことがCentOS 8以降、CentOSではできなくなるので、騒動になっているわけだ。

CentOS 8からMIRACLE LINUX 8.4への移行ツール

 MIRACLE LINUX 8.4はCentOS 8からの移行ツールが用意されている(マニュアルはここ)。試しにVMへCentOS 8.4.2105(最小限)をインストールし試してみることにした。

 マニュアルによると

1)対象はCentOS Linux 8.0~8.4(CentOS Stream 8は対象外)
2)https://repo.dist.miraclelinux.net/miraclelinux/migration-tool/migrate2ml.shからスクリプトをダンロードし実行
3)スクリプトは、通常の切り替えモード(core)/最小限の切り替えモード(minimal)/ブートローダーの再設定モードの3モードを用意

 詳細はマニュアルを参考にしてほしいが、今回は通常の切り替えモード(core)を使用した。このモードは基本的にCentOS Linux 8のリポジトリからMIRACLE LINUX 8のリポジトリへの切り替え処理を行なうようだ。まず確認でOSのバージョンを表示。CentOS Linux release 8.4.2105となっている。

$ cat /etc/redhat-release
CentOS Linux release 8.4.2105

次にマイグレーションスクリプトを取得(wgetがない場合はsudo yum install wget)、実行権限を与える。

$ sudo su
# wget https://repo.dist.miraclelinux.net/miraclelinux/migration-tool/migrate2ml.sh
# ls -l
-rw-r--r--. 1 root root 20833 10月  6 22:14 migrate2ml.sh
# chmod 744 migrate2ml.sh

 rootで./migrate2ml.sh --coreを実行するとマイグレーションが始まる。少し長いが表示内容全てを掲載する。分かる人なら何をしているのか把握できるはずだ。

# ./migrate2ml.sh --core
migrate2ml.sh VERSION: 1.0.1
centos-release: CentOS Linux release 8.4.2105
Disabled CentOS repo files.
Copied MIRACLE LINUX repo files.
Clean dnf cache.
21 files removed
Imported MIRACLE LINUX GPG key.
Start download pkgs
MIRACLE LINUX  - AppStream                      9.3 MB/s |  23 MB     00:02
MIRACLE LINUX  - BaseOS                         8.8 MB/s |  17 MB     00:01
Last metadata expiration check: 0:00:02 ago on Thu Oct 21 22:41:58 2021.
Dependencies resolved.
================================================================================
 Package                  Arch       Version               Repository      Size
================================================================================
Installing:
 miraclelinux-release     x86_64     8.4-0.1.el8.ML.3      ML8-BaseOS      28 k
 redhat-release           x86_64     8.4-0.1.el8.ML.1      ML8-BaseOS      14 k
Installing dependencies:
 asianux-release          x86_64     8.0-10.el8            ML8-BaseOS     7.6 k

Transaction Summary
================================================================================
Install  3 Packages

Total download size: 49 k
Installed size: 42 k
DNF will only download packages for the transaction.
Downloading Packages:
(1/3): miraclelinux-release-8.4-0.1.el8.ML.3.x8 408 kB/s |  28 kB     00:00
(2/3): redhat-release-8.4-0.1.el8.ML.1.x86_64.r 188 kB/s |  14 kB     00:00
(3/3): asianux-release-8.0-10.el8.x86_64.rpm     79 kB/s | 7.6 kB     00:00
--------------------------------------------------------------------------------
Total                                           309 kB/s |  49 kB     00:00
Complete!
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Last metadata expiration check: 0:00:05 ago on Thu Oct 21 22:41:58 2021.
Dependencies resolved.
================================================================================
 Package                  Arch       Version               Repository      Size
================================================================================
Installing:
 miraclelinux-release     x86_64     8.4-0.1.el8.ML.3      ML8-BaseOS      28 k
 redhat-release           x86_64     8.4-0.1.el8.ML.1      ML8-BaseOS      14 k
Installing dependencies:
 asianux-release          x86_64     8.0-10.el8            ML8-BaseOS     7.6 k

Transaction Summary
================================================================================
Install  3 Packages

Total size: 49 k
Installed size: 42 k
Downloading Packages:
[SKIPPED] asianux-release-8.0-10.el8.x86_64.rpm: Already downloaded
[SKIPPED] miraclelinux-release-8.4-0.1.el8.ML.3.x86_64.rpm: Already downloaded
[SKIPPED] redhat-release-8.4-0.1.el8.ML.1.x86_64.rpm: Already downloaded
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1
  Installing       : asianux-release-8.0-10.el8.x86_64                      1/3
  Installing       : miraclelinux-release-8.4-0.1.el8.ML.3.x86_64           2/3
  Installing       : redhat-release-8.4-0.1.el8.ML.1.x86_64                 3/3
  Running scriptlet: redhat-release-8.4-0.1.el8.ML.1.x86_64                 3/3
  Verifying        : asianux-release-8.0-10.el8.x86_64                      1/3
  Verifying        : miraclelinux-release-8.4-0.1.el8.ML.3.x86_64           2/3
  Verifying        : redhat-release-8.4-0.1.el8.ML.1.x86_64                 3/3

Installed:
  asianux-release-8.0-10.el8.x86_64
  miraclelinux-release-8.4-0.1.el8.ML.3.x86_64
  redhat-release-8.4-0.1.el8.ML.1.x86_64

Complete!
Replaced os-release pkgs.
Replace brand pkgs.
Uninstalled specific packages.
Last metadata expiration check: 0:00:07 ago on Thu Oct 21 22:41:58 2021.
Dependencies resolved.
================================================================================
 Package                 Arch       Version                Repository      Size
================================================================================
Downgrading:
 grub2-common            noarch     1:2.02-99.el8.ML.2     ML8-BaseOS     889 k
 grub2-pc                x86_64     1:2.02-99.el8.ML.2     ML8-BaseOS      40 k
 grub2-pc-modules        noarch     1:2.02-99.el8.ML.2     ML8-BaseOS     913 k
 grub2-tools             x86_64     1:2.02-99.el8.ML.2     ML8-BaseOS     2.0 M
 grub2-tools-extra       x86_64     1:2.02-99.el8.ML.2     ML8-BaseOS     1.1 M
 grub2-tools-minimal     x86_64     1:2.02-99.el8.ML.2     ML8-BaseOS     208 k

Transaction Summary
================================================================================
Downgrade  6 Packages

Total download size: 5.0 M
Downloading Packages:
(1/6): grub2-common-2.02-99.el8.ML.2.noarch.rpm 4.3 MB/s | 889 kB     00:00
(2/6): grub2-pc-modules-2.02-99.el8.ML.2.noarch 3.1 MB/s | 913 kB     00:00
(3/6): grub2-tools-2.02-99.el8.ML.2.x86_64.rpm  5.4 MB/s | 2.0 MB     00:00
(4/6): grub2-tools-extra-2.02-99.el8.ML.2.x86_6 3.8 MB/s | 1.1 MB     00:00
(5/6): grub2-tools-minimal-2.02-99.el8.ML.2.x86 3.0 MB/s | 208 kB     00:00
(6/6): grub2-pc-2.02-99.el8.ML.2.x86_64.rpm      36 kB/s |  40 kB     00:01
--------------------------------------------------------------------------------
Total                                           4.3 MB/s | 5.0 MB     00:01
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1
  Running scriptlet: grub2-common-1:2.02-99.el8.ML.2.noarch                 1/1
  Downgrading      : grub2-common-1:2.02-99.el8.ML.2.noarch                1/12
  Downgrading      : grub2-tools-minimal-1:2.02-99.el8.ML.2.x86_64         2/12
  Downgrading      : grub2-tools-extra-1:2.02-99.el8.ML.2.x86_64           3/12
  Downgrading      : grub2-pc-modules-1:2.02-99.el8.ML.2.noarch            4/12
  Running scriptlet: grub2-tools-1:2.02-99.el8.ML.2.x86_64                 5/12
  Downgrading      : grub2-tools-1:2.02-99.el8.ML.2.x86_64                 5/12
  Running scriptlet: grub2-tools-1:2.02-99.el8.ML.2.x86_64                 5/12
  Downgrading      : grub2-pc-1:2.02-99.el8.ML.2.x86_64                    6/12
  Cleanup          : grub2-pc-1:2.02-99.el8_4.1.x86_64                     7/12
  Cleanup          : grub2-tools-extra-1:2.02-99.el8_4.1.x86_64            8/12
  Cleanup          : grub2-pc-modules-1:2.02-99.el8_4.1.noarch             9/12
  Cleanup          : grub2-tools-minimal-1:2.02-99.el8_4.1.x86_64         10/12
  Running scriptlet: grub2-tools-1:2.02-99.el8_4.1.x86_64                 11/12
  Cleanup          : grub2-tools-1:2.02-99.el8_4.1.x86_64                 11/12
  Cleanup          : grub2-common-1:2.02-99.el8_4.1.noarch                12/12
  Running scriptlet: grub2-common-1:2.02-99.el8_4.1.noarch                12/12
  Verifying        : grub2-common-1:2.02-99.el8.ML.2.noarch                1/12
  Verifying        : grub2-common-1:2.02-99.el8_4.1.noarch                 2/12
  Verifying        : grub2-pc-1:2.02-99.el8.ML.2.x86_64                    3/12
  Verifying        : grub2-pc-1:2.02-99.el8_4.1.x86_64                     4/12
  Verifying        : grub2-pc-modules-1:2.02-99.el8.ML.2.noarch            5/12
  Verifying        : grub2-pc-modules-1:2.02-99.el8_4.1.noarch             6/12
  Verifying        : grub2-tools-1:2.02-99.el8.ML.2.x86_64                 7/12
  Verifying        : grub2-tools-1:2.02-99.el8_4.1.x86_64                  8/12
  Verifying        : grub2-tools-extra-1:2.02-99.el8.ML.2.x86_64           9/12
  Verifying        : grub2-tools-extra-1:2.02-99.el8_4.1.x86_64           10/12
  Verifying        : grub2-tools-minimal-1:2.02-99.el8.ML.2.x86_64        11/12
  Verifying        : grub2-tools-minimal-1:2.02-99.el8_4.1.x86_64         12/12

Downgraded:
  grub2-common-1:2.02-99.el8.ML.2.noarch
  grub2-pc-1:2.02-99.el8.ML.2.x86_64
  grub2-pc-modules-1:2.02-99.el8.ML.2.noarch
  grub2-tools-1:2.02-99.el8.ML.2.x86_64
  grub2-tools-extra-1:2.02-99.el8.ML.2.x86_64
  grub2-tools-minimal-1:2.02-99.el8.ML.2.x86_64

Complete!
Upgraded of grub2 packages.
Skipped grub2-mkconfig.
Not UEFI environment, skipped registering EFI Boot Record.
Core package migration is completed!

 無事完了。OSのバーションを再度確認するとMIRACLE LINUX release 8.4に変わっているのが分かる。

$ cat /etc/redhat-release
MIRACLE LINUX release 8.4 (Peony)

 以上のように非常に簡単にマイグレーションできた。時間もさほどかからない。実際はシステムを複製したテスト環境を作り、そこでのチェックなどが必要になるとは思うが、スクリプト一発でCentOS 8からMIRACLE LINUX 8.4へ移行できるのはありがたい。

 MIRACLE LINUX今後のロードマップは、8.6を2023年9月、8.8を2024年9月、8.10を2025年9月にリリース予定。8系のサポート期間は標準で2030年1月まで、延長は2032年1月まで行なうということもあり、当面どうする!?問題は発生せず安心して使えそうだ。


 以上のように「MIRACLE LINUX 8.4」は、CentOS 8以降どうするか困っているユーザーの助け舟となる国産Linuxだ。筆者のように長らく触っていないユーザーも多いと思うが、これを機会にぜひ試してほしいLinuxと言えよう。