WSL2にUbuntu 23.10をインストールしてみた
こんにちは。CX事業本部Delivery部のakkyです。
先日、Ubuntu 23.10 Mantic Minotaurがリリースされました。このリリースはLTSではないので運用には使いづらいですが、ツールが新しくなっているので開発環境で使うのには良さそうです。
さっそく開発で普段使っているWSL2環境で使ってみたいと思ったのですが、あいにくまだWSL用パッケージが公開されていません。
そこで今回は、rootfsから新しいディストリビューションを導入する方法を試してみましたので、ご紹介します。 以下のMicrosoft公式のドキュメントを参考に作業しました。
検証環境はWindows 10 Pro 22H2です。WSL2がデフォルトの環境で作業しました。
Ubuntu 23.10のダウンロードとインポート
まず、Ubuntu 23.10の最新デイリービルドからrootfsをダウンロードしてきます。
https://cloud-images.ubuntu.com/mantic/current/mantic-server-cloudimg-amd64-root.tar.xz
こちらはxz形式なので、7zipなどで解凍しtarを取り出しておきます。(tarの中身まで完全に展開する必要はありません)
次に、仮想マシンのディスクイメージを保存するフォルダを作っておきます。場所はどこでもよいはずですが、今回はユーザープロファイル(C:\Users\ユーザー名
)に作ります。Windowsのコマンドプロンプトで作る場合は以下のようにします。
cd %USERPROFILE% mkdir Ubuntu23.10
rootfsをWSLにインポートします。.tarのあるディレクトリで次のコマンドを実行します。
wsl --import Ubuntu23.10 %USERPROFILE%\Ubuntu23.10 .\mantic-server-cloudimg-amd64-root.tar
私の場合は数秒でインポートできましたので、以下のコマンドで起動します。
wsl -d Ubuntu23.10
一般ユーザーの設定
このままではrootユーザーで使うことになりますので、一般ユーザーを追加してsudoで昇格するように設定を変更します。
/etc/wsl.conf
ファイルにデフォルトのユーザー名を指定することで、今回新たに作成するユーザー(今回で言うとakky
)が使われるようにします。マイクロソフトのドキュメントの例はCentOSなので、Ubuntuとは微妙にコマンドが異なります。useraddに関する参考ページ
この作業はUbuntuで行います。
useradd -m -s /bin/bash akky usermod -aG sudo akky passwd akky echo -e "[user]\ndefault=akky" >> /etc/wsl.conf
WindowsのコマンドプロンプトでUbuntu23.10をシャットダウンし、再び起動します。これで一般ユーザーでログインされるようになりました。
wsl --shutdown Ubuntu23.10 wsl -d Ubuntu23.10
なお、一般ユーザーがsudoグループに入っていない状態で起動してしまうとシステムファイルが変更できなくなってしまいますが、その際には以下のコマンドをで起動するとrootでログインしなおせます。
wsl -d Ubuntu23.10 -u root
OSのバージョンがきちんと23.10になっていることを確認できました。
$ cat /etc/os-release PRETTY_NAME="Ubuntu 23.10" NAME="Ubuntu" VERSION_ID="23.10" VERSION="23.10 (Mantic Minotaur)" VERSION_CODENAME=mantic ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" UBUNTU_CODENAME=mantic LOGO=ubuntu-logo
以上