WSL 2でCentOS 8を利用する
以前、WSL(WSL 1)でCentOS 7を利用するブログを記載しました。
ブログで言及しているWSL向けCentOSの入手元には、Windows 10 2004 Update以降のWSL1/WSL2向けにCentOS 8.1 1911のPre-releaseが提供されています。
今回、Windows 10 2004 Updateを適用したPCにこのCentOS 8.1を入れて動かしてみることにします。
WSL 2の準備
WSL 2は、Hyper-Vハイパーバイザー上の仮想マシン(lightweight utility virtual machine:軽量ユーティリティVM)でLinuxカーネルを実行、そのカーネル上でLinuxディストリビューションのユーザーランドを実行します。一般的なHyper-V仮想マシンに対して非常に短時間で軽量ユーティリティVMは起動します。また、Windowsとの連携がいろいろ用意されています。
WSL 2を利用するには、Windowsの機能の有効化または無効化で次の2つを有効にしておく必要があります。
また、2020年6月21日現在、Windows 10 2004 Update適用後の状態から、手動でカーネルコンポーネントの更新作業を実施する必要があります(今後はWindows Updateに取り込まれる予定)。
WSL 2 Linux カーネルの更新 | Microsoft Docs
CentOS 8を入れてみた
WSL向けCentOSの公開サイトから、CentOS 8をダウンロード Releases · yuk7/CentWSL · GitHub
ダウンロードしたアーカイブファイル内のCentOS8.exeとrootfs.tar.gz を、C:\Uesrs\<ユーザー名>\AppData\Local\Packages\CentOS8 の下に格納し、CentOS8.exeを実行
インストール後はWSL1用となっていました。
C:\> wsl -l -v NAME STATE VERSION * CentOS8 Running 1
- WSLのデフォルト設定でバージョンを2にセットしておくと、WSL2用でインストールされるかも。
既存のWSL1向けディストリビューションをWSL2にする
C:\> wsl --set-version CentOS8 2 変換中です。この処理には数分かかることがあります.... WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
完了すると、WSL2、すなわちLinuxカーネル上で動作するようになります。
ネットワークについて
WSL2のLinux側は、Windows 10上に作成されるHyper-V仮想スイッチに接続される仮想ネットワークアダプタを持つよう設定されます。このときIPアドレスはクラスBのプライベートアドレスが割り振られます。ネットワークアドレスはWindows 10の起動毎に変わります。
WSL2から外部へのネットワーク接続は、NAT経由となります。
CentOS 8の設定
今回利用したCentOS 8はかなりのミニマムセットなので、いろいろパッケージを追加インストールしていく必要があります(sudoパッケージも未インストール)。
それらは今後記載予定。