WSL2で 自分好みのRedHat系 が使いたい!

2022/02/05に公開

最近「どうしても!WSL2で!RedHat系が使いたい!!」という病気(?)にかかりまして・・
色々調べ、試してみて、お手軽にWSL2でRedHat系ディストロを使う方法を見つけたので
「もしかしたら同士いる?」と思い、微力ながら手助けになれば~と思い、書いてますー。

因みに、今回は「Rocky Linux」を例にご紹介します。

はじめに

今回ご紹介する方法は、Dockerコンテナを利用した構築方法になります。

出来る限り、サクっと読める内容にしたい思ってますので
WSL2、Dockerの環境構築などについては「出来ている」こと前提としてます
( 不親切でごめんね )

また、各種操作等々・・自己責任でお願いします。。

WSL2にRedHat系ディストロを構築する方法

前準備

ファイル出力とか行いますんで、ディレクトリの準備をしていきます。

ディレクトリはお好きなとこにしてもらえれば・・と思いますが
後述するコマンドは適宜変更して実行してください。

mkdir c:\wsl2\distro
mkdir c:\wsl2\distro_tar

Dockerイメージの取得 → コンテナ作成

まずは、作成したいディストロのDockerイメージを取得し、コンテナ作成を行います。
※「Alma Linux」が良いなら、該当箇所適宜変えてください。

# イメージ取得 -> コンテナ作成(実行)
docker run --name RockyLinux rockylinux/rockylinux:8

コンテナをexportする

WSL2に取り込むためのコンテナをtarでexportします。
※export後はdockerイメージ・コンテナは不要なので削除してもOKです。

# コンテナをexport
docker export RockyLinux -o "C:\wsl2\distro_tar\RockyLinux.tar"

コンテナをWSL2へimportする

Dockerコンテナって、WSL2にimport出来るみたいで
実際やってみたら「こいつ・・・出来るぞっ!?」ってなりました。( すごい )

ということで、さっき出力したコンテナ( tar )をWSL2にimportします。

# コンテナをWSL2へインポート
wsl --import RockyLinux "C:\wsl2\distro\RockyLinux" "C:\wsl2\distro_tar\RockyLinux.tar"

確認&既定ディストロへ変更

ちゃんとimportされたか確認します。
あと、必要であれば既定ディストロに変更しておきましょう。

# ちゃんとimportされたか確認
wsl -l -v
-------------------------------------------------------
  NAME                   STATE           VERSION
  RockyLinux             Running         2
-------------------------------------------------------

# 既定へ変更
wsl -s RockyLinux

チョチョっとな関連

このままでも良いんですけども、一般ユーザがないやら、パッケージ古いやらで
不便なことが多いのでサクっと入れていきましょう。

# RockyLinux を起動
wsl -d RockyLinux

# 各種パッケージをupdate
dnf update -y

# 必要なもの(理由は割愛)
dnf install glibc-langpack-en passwd sudo -y

# 入れておいた方がいいもの(clearとか入ってないので)
dnf install ncurses less -y

# 一般ユーザを作る
adduser -G wheel hoge

# 次回から一般ユーザでログインするよう設定変更
echo -e "[user]\ndefault=hoge" >> /etc/wsl.conf

# hoge ユーザのパスワード設定
passwd hoge

# 一旦終了して、設定反映確認
exit
wsl -t RockyLinux
wsl -d RockyLinux

あとがき

今回、Dockerイメージを使った方法をご紹介しましたが
Rocky Linuxの公式サイトに別方法も紹介されてます。( ちょっと大変 )
「なんかオカシイ・・」という事があれば、公式の方法で構築する事をおススメします。

https://docs.rockylinux.org/guides/interoperability/rocky_to_wsl_howto/

また、特にコダワリがなくRedHat系であればなんでもいい!というようであれば
冒頭でも書いていますが、現在は「Oracle Linux 8.5」がストアから手に入りますので
一番手間がかからないかと思われます。

ではでは。

Discussion