What's?
自分用のWSL上のUbuntu Linux 24.04 LTS環境のセットアップメモ。
環境
今回の環境はこちら。
PS > [System.Environment]::OSVersion
Platform ServicePack Version VersionString
-------- ----------- ------- -------------
Win32NT 10.0.26200.0 Microsoft Windows NT 10.0.26200.0
PS > $PSVersionTable.PSVersion
Major Minor Build Revision
----- ----- ----- --------
5 1 26100 7462
PS > wsl --version
WSL バージョン: 2.6.3.0
カーネル バージョン: 6.6.87.2-1
WSLg バージョン: 1.0.71
MSRDC バージョン: 1.2.6353
Direct3D バージョン: 1.611.1-81528511
DXCore バージョン: 10.0.26100.1-240331-1435.ge-release
Windows バージョン: 10.0.26200.7623
WSL上のUbuntu Linux 24.04 LTS環境をいろいろ整える
ディストリビューションのインストール
ディストリビューションのインストール。ダウンロードとインストールが行われます。
PS > wsl --install Ubuntu
セットアップ時に対象のディストリビューションのユーザ名とパスワードの設定を求められます。
この時点でのバージョン。
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 24.04.3 LTS
Release: 24.04
Codename: noble
$ uname -srvmpoi
Linux 6.6.87.2-microsoft-standard-WSL2 #1 SMP PREEMPT_DYNAMIC Thu Jun 5 18:30:46 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
OSパッケージのアップデート
OSパッケージのアップデートをしておきます。
$ sudo apt update
$ sudo apt upgrade -y
$ sudo apt autoremove -y
時々更新しておきましょう。
日本語化
しなくてもいいのですが、表示を日本語にしたい場合。
$ sudo apt install -y language-pack-ja
$ sudo update-locale LANG=ja_JP.UTF-8
$ sudo apt install -y manpages-ja manpages-ja-dev
$ echo 'Acquire::Language "ja_JP";' | sudo tee /etc/apt/apt.conf.d/99translations > /dev/null
$ sudo apt update
タイムゾーンを設定する場合はこちらですが、たぶんなにもしなくても日本時間になっていると思います。
$ sudo timedatectl set-timezone Asia/Tokyo
確認はこちら。
$ cat /etc/timezone
Asia/Tokyo
Docker Engineのインストール
WSLを使いたい理由の多くはDocker Engineを使いたいケースだったりしますよね。
インストール方法はその時点での公式ドキュメントを必ず確認しましょう。
インターネット上で探すとだいたい古い手順が出てきます。
PPAの追加。
$ sudo apt update
$ sudo apt install -y ca-certificates curl
$ sudo install -m 0755 -d /etc/apt/keyrings
$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
$ sudo chmod a+r /etc/apt/keyrings/docker.asc
$ sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF
$ sudo apt update
インストール。
$ sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
任意ですが、dockerコマンドをsudoコマンドなしで実行する設定。
$ sudo usermod -aG docker $USER
ディストリビューションに入り直すと反映されています。
デフォルトのエディタを変更する
デフォルトのエディタがnanoになっている場合は扱いに悩む人が多いと思います。
$ sudo update-alternatives --display editor
editor - 自動モード
最適なリンクのバージョンは '/bin/nano' です
リンクは現在 /bin/nano を指しています
リンク editor は /usr/bin/editor です
スレーブ editor.1.gz は /usr/share/man/man1/editor.1.gz です
スレーブ editor.da.1.gz は /usr/share/man/da/man1/editor.1.gz です
スレーブ editor.de.1.gz は /usr/share/man/de/man1/editor.1.gz です
スレーブ editor.fr.1.gz は /usr/share/man/fr/man1/editor.1.gz です
スレーブ editor.it.1.gz は /usr/share/man/it/man1/editor.1.gz です
スレーブ editor.ja.1.gz は /usr/share/man/ja/man1/editor.1.gz です
スレーブ editor.pl.1.gz は /usr/share/man/pl/man1/editor.1.gz です
スレーブ editor.ru.1.gz は /usr/share/man/ru/man1/editor.1.gz です
スレーブ editor.tr.1.gz は /usr/share/man/tr/man1/editor.1.gz です
/bin/ed - 優先度 -100
スレーブ editor.1.gz: /usr/share/man/man1/ed.1.gz
/bin/nano - 優先度 40
スレーブ editor.1.gz: /usr/share/man/man1/nano.1.gz
/usr/bin/vim.basic - 優先度 30
スレーブ editor.1.gz: /usr/share/man/man1/vim.1.gz
スレーブ editor.da.1.gz: /usr/share/man/da/man1/vim.1.gz
スレーブ editor.de.1.gz: /usr/share/man/de/man1/vim.1.gz
スレーブ editor.fr.1.gz: /usr/share/man/fr/man1/vim.1.gz
スレーブ editor.it.1.gz: /usr/share/man/it/man1/vim.1.gz
スレーブ editor.ja.1.gz: /usr/share/man/ja/man1/vim.1.gz
スレーブ editor.pl.1.gz: /usr/share/man/pl/man1/vim.1.gz
スレーブ editor.ru.1.gz: /usr/share/man/ru/man1/vim.1.gz
スレーブ editor.tr.1.gz: /usr/share/man/tr/man1/vim.1.gz
/usr/bin/vim.tiny - 優先度 15
スレーブ editor.1.gz: /usr/share/man/man1/vim.1.gz
スレーブ editor.da.1.gz: /usr/share/man/da/man1/vim.1.gz
スレーブ editor.de.1.gz: /usr/share/man/de/man1/vim.1.gz
スレーブ editor.fr.1.gz: /usr/share/man/fr/man1/vim.1.gz
スレーブ editor.it.1.gz: /usr/share/man/it/man1/vim.1.gz
スレーブ editor.ja.1.gz: /usr/share/man/ja/man1/vim.1.gz
スレーブ editor.pl.1.gz: /usr/share/man/pl/man1/vim.1.gz
スレーブ editor.ru.1.gz: /usr/share/man/ru/man1/vim.1.gz
スレーブ editor.tr.1.gz: /usr/share/man/tr/man1/vim.1.gz
update-alternativesコマンドで変更しましょう。
$ sudo update-alternatives --config editor
alternative editor (/usr/bin/editor を提供) には 4 個の選択肢があります。
選択肢 パス 優先度 状態
------------------------------------------------------------
* 0 /bin/nano 40 自動モード
1 /bin/ed -100 手動モード
2 /bin/nano 40 手動モード
3 /usr/bin/vim.basic 30 手動モード
4 /usr/bin/vim.tiny 15 手動モード
現在の選択 [*] を保持するには <Enter>、さもなければ選択肢の番号のキーを押してください:
多くの人はvimを選ぶのではないでしょうか。
現在の選択 [*] を保持するには <Enter>、さもなければ選択肢の番号のキーを押してください: 3
update-alternatives: /usr/bin/editor (editor) を提供するためにマニュアルモードで /usr/bin/vim.basic を使います
WSLディストリビューションを再起動する
WSLディストリビューションを再起動したい場合。
再起動コマンドはないので、1度ディストリビューションを停止して
PS > wsl --terminate Ubuntu
この操作を正しく終了しました。
# または
PS > wsl -t Ubuntu
再度入り直すという感じですね。
PS > wsl --distribution Ubuntu
# または
PS > wsl -d Ubuntu
起動済みのWSLディストリビューションにbashで入り直す
停止しなくても起動済みのWSLディストリビューションにbashで入り直す場合はこちら。
PS > wsl -d Ubuntu -e bash
WSLディストリビューションの削除
WSLディストリビューションの削除。
PS > wsl --unregister Ubuntu
登録解除。
この操作を正しく終了しました。
WSLディストリビューションがなくなるので、これを実行するとディストリビューションのダウンロード、インストールからやり直しです。
PS > wsl --install Ubuntu
環境を作り直したい場合などに。