西川和久の不定期コラム
終了するCentOSの後釜に最適なRHELクローンの国産Linux! 「MIRACLE LINUX 8.4」
2021年10月26日 06:50
サイバートラストは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パスワード、ユーザーの作成、そしてネットワークとホスト名などを適当に入力。赤文字がなくなると[インストールの開始]ボタンが有効になるので、インストール開始となる。
無事終わって再起動するとライセンス認証などを経てMIRACLE LINUXが起動する。また初めてのログイン時は、そのユーザー固有の環境などを設定するパネルを表示する(言語、キーボードレイアウト、プライバシー、Googleなど主要なアカウント)。一連の流れを掲載したので参考にしていただければと思う。特に難しい部分もないので、Windowsをインストールした経験のある人なら大丈夫だろう。
参考までにWindowsはProの場合、Hyper-Vマネージャーを使いisoイメージから簡単にインストールできる(Core i5-10210U/32GB/500GB@NUC「NUC10i5FNH」、10 Proで確認)。仮想マシンの作成でisoイメージを選択、この時、[Windowsのセキュアブートを有効にします]のチェクを外す。作成後、[設定の編集]で適当に好みの環境にした後起動。以降は先と同じとなる。
MIRACLE LINUX 8.4起動
RHEL、そしてクローンも含めどの程度デスクトップ環境が使われているか不明だが、セットアップ時、なにも指定しないとデスクトップを表示する。
初回起動時、“初めて使う方へ”を表示。「アプリケーションを起動する」、「タスクを切り替える」、「ウィンドウとワークスペースを使用する」の動画があるので、初めて触る人は一通り観るとよいだろう。
筆者は日頃CUI@sshばかりなので久々に最新Linuxのデスクトップ環境を触ったが、あまり昔と代わり映えしないように思える。
基本Gnomeを使っているので、操作系はUbuntuなどと同じだ。昔はKDEも選べたような気もするが、現在はこちらが主流なのだろう。WebブラウザはFirefox。IMEも動作している。
いずれにしてもRHEL系はサーバー用途が圧倒的に多いと思われるので、この状態で使う人は少ないのではないだろうか。
標準設定で起動すると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と言えよう。