ConoHaにMIRACLE LINUX 8.4(CUI)を導入

2022/03/04 追記 ConoHaのテンプレートにMIRACLE LINUX 8.4が追加されたので、下記の手順を行わなくても普通にMIRACLE LINUX 8.4を選択するだけでインストール可能です。やったね!

ConoHaのVPSにて、MIRACLE LINUX(以下、ML)を使おうと思います。MLにはCentOSからの移行ツールが存在しており、CentOS Linux 8.0から8.4までであれば対応しているようです。今回はConoHaのVPSにCentOS 8.3をインストールして移行ツールを使ってMIRACLE LINUXを導入します。GUIは使わないのでCUIのみとなります。

ConoHaで新しいサーバの追加

まずはConoHaにログインをして新しいサーバの追加を行います。VPS割引きっぷは前払いで少し割引になるようですが試していません。イメージタイプはOSタブのCentOSを選びますが、デフォルトはSteam8(64bit)になっているので、ドロップダウンから8.3(64bit)を選びます。

サーバ追加の画面

rootパスワードは大文字や小文字、数字と記号を混ぜないといけないので思いつかない場合は何らかのソフトで生成しましょう。1passwordのジェネレータでサクっと生成する方法もあります。お手持ちのマシンにpwgenコマンドやmkpasswdコマンドなどがあればそれで生成してもいいでしょう。

セキュリティ上の懸念があるためオプションを見るをクリックして、接続許可ポート IPv4接続許可ポート IPv6は両方とも全て拒否にしましょう。これはサーバの設定を全て終わらせてある程度セキュリティを担保してから許可に変更すると良いでしょう。

オプションを見るの中身

サーバを追加すると1分程度構築中と表示され、その後起動中になります。

サーバの追加完了

サーバへのログイン

ネームタグから先ほど作成したサーバをクリックし、コンソールをクリックすると新しいウィンドウでコンソール画面が表示されます。

コンソール

rootと打ってEnterキーでログインします。パスワードを聞かれるので先ほどサーバ追加の時に指定したパスワードを入力します。パスワードはキーボードから入力しても画面上に文字が出ません。覗き見防止1でそうなっています。

xxx-xxx-xxx-xxx login: root
Password:
[root@xxx-xxx-xxx-xxx ~]# 

この時点ではCentOS 8.3がインストールされていることが確認できます。

# cat /etc/redhat-release
CentOS Linux release 8.3.2011

MIRACLE LINUXへの移行ツールのダウンロードと実行

移行ツールをダウンロード2します。

# wget https://repo.dist.miraclelinux.net/miraclelinux/migration-tool/migrate2ml.sh

移行ツール3を実行するために、実行権限を付与します。

# chmod +x ./migrate2ml.sh

通常の切り替えモードで移行ツールを実行します。

# ./migrate2ml.sh --core

~~~~略~~~~

Core package migration is completed!

確認してみましょう。redhat-releaseファイルはMIRACLE LINUXになっています。

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

パッケージのアップデートと再起動

パッケージをアップデートします。数分かかるので待ちましょう。

# dnf -y update

終わったら念のため再起動しましょう。

# reboot

ブートローダの一番上にMIRACLE LINUXが追加されているので、数秒待つと起動します。ログイン画面が表示されたらログインしましょう。

ブートローダ

ログイン画面では次のようにMIRACLE LINUX 8.4と表示されます。以上で移行は完了です。

MIRACLE LINUX 8.4 (Peony)
Kernel 4.18.0-305.25.1.el8_4.x86_64 on an X86_64

xxx-xxx-xxx-xxx login:

新規ユーザの追加

今までの作業はrootという名前のユーザで作業してきました。これはスーパーユーザとも言い、システム等を自由に変更できる"すごいユーザ"であるので、コマンドを打ち間違えてシステムを破壊してしまうかもしれません。一般的に作業を行う一般ユーザを作成しましょう。ユーザを作成するにはadduserコマンドを使います。XXXXには自分のユーザ名を入力してください。

# adduser XXXX

特に何の出力もありませんが、ユーザの作成はできているはずです。下記のコマンドで自分の作成したユーザの行が出力されていれば大丈夫です。

# grep XXXX /etc/passwd

一般ユーザと言っても、時々システムの管理を行いたい事があると思います。その時の為に管理者としてコマンドを実行できるようにwheelグループに作成したユーザを追加しましょう。

# usermod -aG wheel XXXX

こちらも下記のコマンドで、wheelで始まる行が出力されていれば追加されていると確認できます。

# grep XXXX /etc/group

そして作成したユーザにはまだパスワードが設定されていません。パスワードを設定しましょう。設定したいパスワードを2回入力します。1回でないのは、もし打ち間違えているとログインできなくなってしまうので確認の為にこうなっています。

# passwd XXXX
Changing password for user XXXX.
New password:
Retype new password:

NOTE: passwdの後にユーザ名を付けずに実行してしまうと、今ログインしてるユーザのパスワードを変更してしまいます。このタイミングではrootユーザのパスワードを変更してしまうので気を付けてください。1行目のChanging password for user XXXX.の最後に自分のユーザ名が表示されているか確認しましょう。

2回とも同じパスワードを入力できているとパスワードが設定されます。

passwd: all authentication tokens updated successfully.

一旦ログアウトして、作成したユーザでログインしてみましょう。

# exit

先ほど作成したユーザ名を入力してEnterキーを押しパスワードを入力してEnterキーを押します。

MIRACLE LINUX 8.4 (Peony)
Kernel 4.18.0-305.25.1.el8_4.x86_64 on an x86_64

xxx-xxx-xxx-xxx login: XXXX
Password:

ログインできるとコンソールの表示が先ほどまでのrootとちょっと違う形で表示されます。

[XXXX@xxx-xxx-xxx-xxx ~]$

[ユーザ名@ホスト名 ~]$となります。最後の$は一般ユーザであることを表しています。実は先ほどまでのrootユーザは$ではなく#でした。

試しにrootユーザでない場合にどうなるか試すにはrootのホームディレクトリを覗こうとしてみるとわかります。

$ ls /root
ls: cannot open directory '/root': Permission denied

Permission deniedと表示され、権限がないよと言われます。

一時的にスーパーユーザとして実行するにはコマンドの先頭にsudoをくっつけます。試してみましょう。

$ sudo ls /root

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for XXXX:

初回はだらだらと警告メッセージが表示されます。気を付けて使いましょうという事が書いてあるので、気になる方は翻訳ソフトで調べてください。

ここでパスワードが要求されますが、password for XXXXとなっている通りrootのパスワードではなく作成した一般ユーザのパスワードを入力してください。正しいパスワードが入力されていればlsコマンドが実行されると思います。

migrate2ml.sh

これは、最初に移行ツールをダウンロードしたのでそのファイルが表示されています。ダウンロードした時はrootユーザのホームディレクトリで作業していたのでここで表示されます。

今後は一般ユーザでログインし、必要があればsudoを使って作業を行います。

その他 いくつか

os-releaseがML仕様になっています。

$ cat /etc/os-release

リポジトリがMLに切り替わっており、epelはConoHaのCentOS 8.3でもともと有効のようです。

$ dnf repolist --enabled
By @Akio Tomita in
Tags :