砂漠の旅人(たびと)|新天地:たびとの旅路

電脳砂漠を旅する、ある旅人の日記。フロッピーを頼りに歩いた日から、クラウドの地平を見つめる今日まで。見つけたオアシスも、迷い込んだ砂の迷宮も、全てこの羊皮紙に。

禁じられし召喚術 ~ストアにないLinuxをWSL2に降臨させる裏ワザ~

旅の途中、興味深いオアシスを見つけた。忘れないうちに、この羊皮紙に記しておくとしよう。

「WSL2で、Ubuntu以外のLinuxが使いたい…」 「特に、無料で使えるRHELクローンのRocky Linuxを、どうにかしてインストールできないだろうか?」 Microsoft Storeという名の市場を眺めては、ため息をついていたあんたへ。その願い、驚くほど簡単な「禁じられし召喚術」で叶えることができます。

実は、WSL2には、好きなLinuxディストリビューションを自分でインポートするという、公式ながらもあまり知られていない機能が存在します。これを使えば、市場に並んでいないディストリビューションはもちろん、自分好みにカスタマイズした環境さえも、自由にWSL2へ追加できるのです。今回は、その感動的なほど簡単な方法を使い、Rocky Linux 9を召喚する儀式の手順を、備忘録として残しておこうと思います。

この羊皮紙のあらまし

この羊皮紙が導く者

  • Microsoft StoreにないLinuxを、WSL2で無料で使いたいと願う者
  • Rocky Linuxなど、RHEL系の環境をWSL2で構築したい探求者
  • WSL2のインポート機能を通して、その仕組みをより深く知りたい冒険者

第一の儀式:旅の準備(イメージの入手)

まずは、召喚の触媒となるRocky Linux 9のコンテナイメージを入手します。

Rocky Linux 9 Container Image (x86_64)

ダウンロードした.tar.xzファイルは、7-Zipなどの魔法の道具を使って解凍し、.tarファイルという名の魂の器を用意しておいてください。

第二の儀式:召喚の呪文(インポート)

ここからが本番です。PowerShellという名の祭壇で、たった3つの呪文を詠唱するだけで、あんたの世界にRocky Linuxが降臨します。

聖域を築く

まずは、召喚した魂を留めておくための聖域(ディレクトリ)を築きます。場所はどこでも構いませんが、今回はAppData\Local配下に築きました。

PS C:\> mkdir C:\Users\Tabito\AppData\Local\RockyLinux-9

召喚の詠唱

いよいよ、wsl --importという、禁じられし呪文の出番です。

# wsl --import <召喚獣の名前> <聖域の場所> <魂の器のパス>
PS C:\> wsl --import RockyLinux-9 C:\Users\Tabito\AppData\Local\RockyLinux-9 C:\Users\Tabito\Downloads\Rocky-9-Container-Base.latest.x86_64.tar

契約の確認

念のため、あんたの配下にいる召喚獣の一覧を表示し、RockyLinux-9が契約下に加わっていることを確認しましょう。

PS C:\> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu          Stopped         2
  RockyLinux-9    Stopped         2

見事に契約は結ばれました!

第三の儀式:魂を馴染ませる(初期設定)

召喚したばかりの魂は荒々しく、まだあんたの言葉に完全には従いません。以下の儀式を行い、真の相棒へと育て上げましょう。

身体を清める(アップデート)

まずは、wsl -dコマンドでRocky Linuxを呼び出します。最初はrootという、神の姿で現れるので、その力で身体(システム)を清め、最新の状態にします。

PS C:\> wsl -d RockyLinux-9
[root@... ~]# dnf update -y

真の主を定める(一般ユーザー作成)

常に神の力を使うのは危険です。普段使いのための「真の主(一般ユーザー)」を定め、その主にだけ神の力の一部(sudo権限)を授けましょう。

# --- 召喚獣の世界での作業 ---
# 1. sudoという力を授ける
[root@... ~]# dnf install sudo -y
# 2. 真の主(例: tabito)を定め、特別な一族(wheel)に加える
[root@... ~]# adduser -G wheel tabito
# 3. 次回から真の主として現れるよう契約を書き換える
[root@... ~]# echo -e "[user]\ndefault=tabito" >> /etc/wsl.conf
# 4. 主の証(パスワード)を定める
[root@... ~]# passwd tabito
# 5. 一旦、魂を還す
[root@... ~]# exit

# --- 現実世界に戻る ---
# 召喚獣を完全に眠らせる
PS C:\> wsl --terminate RockyLinux-9

世界の色彩を取り戻す(lsコマンドのカラー化)

このままでは、召喚獣が見る世界はモノクロで、非常に味気ないものです。lsコマンドに色を与え、世界の色彩を取り戻しましょう。これは作業効率に直結する必須の儀式です。

# --- 召喚獣の世界での作業 ---
# /etc/profile.d/ に色彩魔法の羊皮紙を作成
[tabito@... ~]$ sudo vi /etc/profile.d/colorls.sh

# 以下の呪文を書き込み、保存
alias ll='ls -l --color=auto' 2>/dev/null
alias l.='ls -d .* --color=auto' 2>/dev/null
alias ls='ls --color=auto' 2>/dev/null

第四の儀式:近道を開く(Windowsターミナル登録)

毎回wsl -d RockyLinux-9と呪文を唱えるのは面倒です。Windowsターミナルに近道(プロファイル)を開き、ワンクリックで召喚できるようにしましょう。

  1. Windowsターミナルを開き、「設定」→「新しいプロファイルを追加します」→「新しい空のプロファイル」を選択します。
  2. 以下の内容を設定し、「保存」します。アイコンは好きなものを選びましょう。

これでワンクリック起動が可能に

最終奥義:召喚獣に心臓を与える(systemd有効化)

ここからの儀式は、さらなる力を求める上級者向けだ。 sshdやdockerデーモンといった、自律的に動く生命体を召喚獣の中で飼いたいなら、systemdという「心臓」を埋め込む必要がある。

# --- 召喚獣の世界での作業 ---
# 1. 神の力でsystemdという心臓をインストール
[root@... ~]# dnf install systemd -y

# 2. 召喚獣が目覚める時に心臓も鼓動を始めるよう、契約を書き換える
[root@... ~]# echo -e "[boot]\nsystemd=true" >> /etc/wsl.conf

# 3. 儀式を終え、魂を還す
[root@... ~]# exit

最後に、PowerShellに戻り、wsl --shutdownで全ての召喚獣を一度眠らせ、再び呼び出すことで、心臓は力強く鼓動を始めるだろう。

羊皮紙を巻く前に

WSL2の--import機能は、まさに知る人ぞ知る禁断の召喚術でした。 この方法を使えば、市場に並んでいないディストリビューションを自由に呼び出せるだけでなく、自分だけの最強の相棒を創り出し、他のPCへ魂を分け与えることさえ可能です。

もう、Microsoft Storeの品揃えに縛られる必要はありません。 この感動的なほど簡単な方法で、あんたも自分だけの最強の相棒を召喚してみてはいかがでしょうか。

おっと、もうこんな時間か。長居は無用だ、次の目的地へ出発せねば。

砂漠で見つけた魔法のランプ

ラクダの独り言

またご主人が、黒い羊皮紙に向かってブツブ-ツと呪文を唱えている。なんでも「ろっきー」とかいう、岩みたいに頑固そうな生き物を、自分の砂場に無理やり召喚する裏ワザらしい。ストア(市場)にいないからって、そんな怪しい方法で連れてこなくてもいいだろうに。まあ、その新しい相棒が、私の干し草を食べないヤツなら別に構わんがな。