意外と簡単!WSL2にCentos9Streamをインストールする方法

※本ページはプロモーションを含みます

はじめに

最近CentOS9Streamを操作する必要が発生しましたがいきなり本番系で操作するのも不安なのでまずWSLにインストールして試してみようと思いました。

ただUbuntuはMicrosoftStoreでボタン一つで簡単にインストールできるのに対してCentOSはMicrosoft Storeにありません…。

ネットの記事をいろいろ調べてインストールに挑戦したら思ったよりも簡単に成功したのでその流れを記します。

「WSLにCentOS9StreamをいれたいけどMicrosft Storeにない!」というような方の参考になれば幸いです。

基本情報

WSL(Windows Subsytem for Linux)とは

WindowsでLinuxを動かすことができる機能です。
なぜローカル端末でLinuxが動くとよいかというと世の中の本番系のサーバーがほとんどLinuxだからです。
テストサーバーを用意しなくても自分の端末のみでWEBアプリなどの動きを確認できるようになります。

UbuntuとCentOSの違い

どちらもLinuxのディストリビューションですがUbuntuはDebian系、CentOSはRHEL(Red Hat Enterprize Linux)系で流派が違います。

CentOSはサポート期間が長くUbuntuは開発が活発な特徴があげられます。

※CentOSは最近、方針変換を行い、長期安定よりも開発推進の方向になったようです

自分の端末環境

インストール前の自分の環境は以下のとおりです

  • Windows10 Pro 22H2
  • WSL2インストール済み
  • WSLには既にUbuntuを入れてあります

作業手順

インストール完了までの手順は次のとおりです

  1. CentOS9Streamのファイルをダウンロード
  2. ダウンロードしたファイルの解凍&アーカイブファイルの取得
  3. PowerShellのwslコマンドでtarファイルをインポート
  4. PowerShellのwslコマンドで存在確認
  5. PowerShellでCentOS9Streamにログイン

ここから実際にインストールしていきます。

【手順1】CentOS9Streamのファイルをダウンロード

githubからCentOS9-streamのソースをダウンロードします

▼ダウンロード先
https://github.com/mishamosher/CentOS-WSL/releases/
ページ内にある「CentOS 9-stream-20230626」を使用しました

ブラウザで操作しても同じですが今回はPowerShellで操作していきます。

PowerShellの起動

「Windowsボタン+x」同時押しで表示されるメニュー内のWindows PowerShell(管理者)を選びます。

開いたPowerShellが開いたら操作しやすいようにデスクトップまでディレクトリを移動しておきます。

cd $env:USERPROFILE\desktop
# これでデスクトップに移動しました

対象のファイルをダウンロードします

curl.exe -OL https://github.com/mishamosher/CentOS-WSL/releases/download/9-stream-20230626/CentOS9-stream.zip

【手順2】ダウンロードしたファイルの解凍&アーカイブファイルの取得

zipファイルを解凍

Expand-Archive -Path CentOS9-stream.zip

# 以下のファイルが展開されます
# rootfs.tar.gz
# CentOS9-stream.exe

rootfs.tar.gzファイルからrootfs.tarファイルを取り出す

デフォルトのPowerShellにはtar.exeコマンドがインストールされているのでtarコマンドでtar.gzファイルを展開することはできますが欲しいのはrootfs.tarファイルなので展開はしたくありません。

PowerShellでの操作をここではあきらめてすでにWSLに入っているUbuntuに入ってgzipコマンドでtarファイルを取得します

# 解凍してしまうとrootfs.tarファイルは取得できない
# もうひとつのLinuxのUbuntuでgzipコマンドを使用してtarファイルを取りだす
gzip -d rootfs.tar.gz

# これでrootfs.tarファイルを取得できる

【手順3】PowerShellのwslコマンドでtarファイルをインポート

wsl —import コマンドでrootfs.tarファイルをimportする

Microsoft StoreでUbuntuをインストールした場合は$env:LOCALAPPDATA\Packagesフォルダ内にファイルが生成されるのでそれに合わせて同じようにフォルダを作成します

mkdir $env:LOCALAPPDATA\Packages\CentOS9Stream

保存するフォルダを作成したらwslコマンドでimportします。

wsl --import "CentOS9Stream" $env:LOCALAPPDATA\Packages\CentOS9Stream .\rootfs.tar --version 2

しばらくすると設定完了のメッセージが表示されます

【手順4】PowerShellのwslコマンドで存在確認

wsl -l -v

# CentOS9Streamが表示されたら成功です

【手順5】PowerShellでCentOS9Streamにログイン

次のコマンドでCentOS9Streamを起動します

wsl -d CentOS9Stream

これでCentOS9Streamが立ち上がりrootユーザーでログインした状態になります

インストール後は何をする?

  • wslデフォルトのディストリビューションに設定する
  • dockerをインストールしてコンテナを試す
  • apacheやnginxをいれてWEBサーバーにしてみる
  • node.jsをいれてnode.jsを利用した開発環境にする
  • 手順がわかって不要なので削除する

など色々お好みで試してください。

インストールしたディストリビューションを削除する

「インストール方法がわかったからもう要らないや」という人は下記コマンドで削除できます

wsl --unregister CentOS9Stream
# コマンド実行後
# 登録解除。
# この操作を正しく終了しました。
# と表示される

wsl -l -v
# 上記コマンドで削除を確認する

wsl -l -v でリストからCentOS9Streamが消えていたら成功です

以上でWSLにCentOS9Streamをインストールする方法は終了です。

ローカル端末で慣れてきたらレンタルVPSを契約して操作してみようと思います。

CentOS9Streamをローカル端末ではなく本番系として運用したい場合はVPSを利用する方法が安価で簡単です。