内です。過去2回までで、windows10の標準機能となったwindows subsystem for linux(WSL1)を有効化してkali linuxを動かす手順と、WSL2を有効化してubuntuを動かす手順をご紹介しました。今回はwslに、CentOS8を導入する手順をご紹介します。
wsl上のCentOS難民を救済
MicrosoftStoreに公開されているCentOSは無料じゃない!?
前々回記事でインストールしたKaliLinuxはDebianベースです。
前回記事でインストールしたUbuntuもDebianベースです。
そうすると当然CentOSもインストール置きたくなりますよね。
そこでMicrosoftStoreでwslで検索すると、おー。あったあった。CentOS。
と思った直後に、よく見ると・・・大抵の人は愕然とするわけですね。
なんと、**CentOSは無料じゃない。**230円で販売されてます。RedHatじゃなくてCentOSだよね。
フリーじゃないの?そんな大金払えんよと諦める事になります。
製品の評価を表す★マークを見てもUbuntuにおいては評価44個で星4.5、KaliLinuxですら評価6個に星4.5あるのにCentOSとCentOS7においては評価も星もゼロであることからも、大抵の人がここでインストールをためらい、諦めているのが一目瞭然ですね。
ちなみにMicrosoftStoreアプリはそのアプリの公開者情報が見ることができます、
この有料版CentOSの公開者情報を見ると、公開者が漢字で表記されていて、CentOS公式じゃないことが判明します。赤い四角で囲ってあるところが公開者です。
ここで挫折するのはまだ早い、githubにwsl用のCentOSが公開されてます。
CentOSよりUbuntuの方が人気なようだ
ところでCentOSとUbuntuどっちが人気なんだろうと気になってちょっと調べてみました。
人気度を図る毎度お馴染みGoogle Trends先生でCentOSとUbuntuの人気度を過去一年で比較してみると、世界ではUbuntuのほうが圧倒的に人気なようです。
日本でもUbuntuのほうが人気ですけど、全世界で見た時ほどの人気の差はないようです。
wsl用CentOS8導入手順
githubからダウンロード
MicrosoftStoreで有料だったからといって諦めるのは早い。CentOS8のwsl用rootfsファイルがgithub上でCentWSLというプロジェクト名で公開されてますので、これを利用します。
当然意識の高い最新のCentOS8プレリリース版を入れますので、以下リンクからダウンロードしましょう。
CentOS8用zipダウンロード
解凍し、インストール
ダウンロードしたzipを解凍すると、
CentOS8.exe
rootfs.tar.gz
というファイルが入っています。githubに公開されているプロジェクトのREADME.mdに従うと、ここでCentOS8.exeを実行すればCentOS8が登録されてることになっているのですが、この方法だと、ダウンロードしたCentOS8.exeファイルがあるフォルダにcentos8のハードディスクイメージファイルvhdxが作成され、そこから移動させられない不便さがあるので、今回はwslコマンドからインポートするという手段を選択します。
インポート先ディレクトリの作成
そのためには、まずインポート先のディレクトリを作成します。
MicrosoftStoreからインストールしたubuntuやkali-linuxなどのwslのファイルシステムは
%userprofile%\AppData\Local\Packages
の下に作成されています。
そして、先にインストールしたUbuntu-18.04のフォルダ名は
CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc
kali-linuxのフォルダは
KaliLinux.54290C8133FEE_ey8k8hqnwqnmg
となっています。
同じフォルダ構成にするため、エクスプローラを立ち上げて、アドレス欄にそのまま
%userprofile%\AppData\Local\Packages
rootfs.tar.gzからrootfs.tarを取り出す
次に、rootfs.tar.gzを解凍ソフトで解凍して、rootfs.tarにします。
wslコマンドでrootfs.tarを指定してインポート
最後にコマンドプロンプトを起動して、wslコマンドでこのrootfs.tarを登録します。
wsl --import CentOS8 "%userprofile%\AppData\Local\Packages\CentOS8" "C:\Users\uchi\Desktop\rootfs.tar" --version 2
このとき、–importの後の
- 第一引数CentOS8は、wsl -l -vコマンドを実行したときに表示されるディストリビューション名になります、他の名前にしても構いません。
- 第二引数の”%userprofile%\AppData\Local\Packages\CentOS8″は、インストール先になります。
- 第三引数の”C:\Users\uchi\Desktop\rootfs.tar”は、先ほど解凍して取り出した、インストール元のrootfs.tarファイルになります。
- 最後の–version 2は、今回取り出したCentOS8がwsl2専用と記載されていたため、wsl2としてインスト-ルします。
という意味です。
第一引数のディストリビューション名と第二引数のインストール先を変更すれば、複数インストールできますね、そういう意味でもwslコマンドでimportしたほうが便利!!
確認
wsl2で登録されいてることを、コマンドプロンプトから確認
C:\Users\uchi>wsl -l -v
NAME STATE VERSION
* Ubuntu-18.04 Running 2
CentOS8 Stopped 2
kali-linux Running 1
ショートカット作成
ショートカットを作っておくと便利でしょう。
ショートカットを作成して起動し、以下コマンドでcentos8がwsl2で起動できていることが確認できました。
[root@CP747755-01 uchi]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="8 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Linux 8 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-8"
CENTOS_MANTISBT_PROJECT_VERSION="8"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="8"
CentOS8をwsl2上で動かす手順まとめ
- MicrosoftStore上に有料のCentOSがあるが、githubから入手して無料で入れられる。
- githubの手順だと、インストール先の設定が不便なのでrootfs.tar.gzだけ利用してwslコマンドでインストールしましょう。
- wslコマンドでインストールする際に、ディストリビューション名をかえてCentOS8をいくつでもインストールできるので便利。
- ショートカットつくっておくと便利。