🐧

WSL2にArchLinuxをインストールして初期設定する

に公開

はじめに

WSL2のディストリビューションにArch Linuxが公式対応したことを受けて、実際にインストールと初期設定を行いました。

この記事では、インストール時に遭遇した問題とその解決方法、および初期設定手順を備忘録として記録します。

前提条件

  • Windows 11 Pro
  • WSL2が有効化済み(初回の場合は管理者権限での実行と再起動が必要)
  • WSL 2.4.4以降が必要(WSL2のみ対応)
  • PowerShellの使用

インストール方法

インストール手順

PowerShellで以下のコマンドを実行します。

wsl --install archlinux

インストールが完了すると、自動的にArch Linuxが起動し、以下のような表示になります。

[root@hoge]#

この表示が確認できれば成功です。初期設定(root権限)の章に進んでください。

インストール時のトラブルシューティング

アクセス拒否エラーの対処

以下のようなエラーが発生する場合があります。

wsl --install archlinux
アクセスが拒否されました。
エラー コード: Wsl/InstallDistro/E_ACCESSDENIED

対処法1として、Microsoft Storeを経由せずにインストールを試行します。

wsl --install --web-download archlinux

対処法2として、上記の方法でも解決しない場合は、Arch Linux公式からイメージファイルを取得します。

  1. Arch Linux Downloadsにアクセス
  2. WSL images > mirrorsへ進む
  3. archlinux.wslをダウンロード

ダウンロードしたファイルをダブルクリックしてインストールするか、以下のコマンドを実行します。

wsl --install --name archlinux --location C:\wsl\archlinux --from-file C:\Users\[username]\Downloads\archlinux.wsl

コマンドの詳細説明は以下の通りです。

  • archlinux - ディストリビューション名(任意の名前に変更可能)
  • C:\wsl\archlinux - インストール先ディレクトリ
  • C:\Users\[username]\Downloads\archlinux.wsl - ダウンロードしたファイルのパス

インストール確認

以下のコマンドでインストール状況を確認できます。

wsl -l -v
  NAME        STATE           VERSION
* archlinux   Stopped         2

インストールしたArch Linuxを起動します。

wsl -d archlinux

初期設定(root権限)

システムの基本設定

パッケージマネージャの暗号化キー初期化を行います。

pacman-key --init
pacman-key --populate archlinux

システム全体の更新を実行します。

pacman -Syu --noconfirm

ロケール設定

日本語・英語ロケールを有効化します。

sed -i -r 's/^#((en_US|ja_JP)\.UTF-8.*)$/\1/' /etc/locale.gen
locale-gen

必要パッケージのインストール

必要なパッケージを一括インストールします。

pacman -S --noconfirm base-devel sudo neovim which curl wget openssh docker docker-compose git less zsh

ユーザー設定

新規ユーザーの作成と権限付与を行います。
[username]を実際のユーザー名に置き換えて実行してください。

useradd -m -G wheel -s /bin/zsh [username]
passwd [username]
echo "%wheel ALL=(ALL) ALL" > /etc/sudoers.d/wheel-sudo
chmod 440 /etc/sudoers.d/wheel-sudo

WSLのデフォルトユーザー設定を行います。

echo -e "[user]\ndefault=[username]" >> /etc/wsl.conf

設定の反映

WSLを一度終了し、ディストリビューションを再起動します。

exit
wsl --terminate archlinux
wsl -d archlinux

初期設定(一般ユーザー)

ユーザー確認

zshの設定ウィザードが表示されると思いますので、適宜設定してください。
私は既存の設定ファイルがあるため、qで抜けてから自分で設定します。

デフォルトユーザーが正しく設定されているか確認します。

whoami

各種設定

この時点で、以下のような個人設定ファイルを適宜設定してください。

  • .zshrc - zshの設定
  • .zshenv - 環境変数の設定
  • .gitconfig - git設定
  • .ssh/ - 鍵の発行、config設定など

Path設定の注意点

WSLではWindowsのPATHも参照されるため、以下を基本形として設定してください。

# ~/.zshenv
typeset -U path
path=(
  $path
  /usr/local/bin
  /usr/local/sbin
  /usr/bin
  /usr/sbin
  /bin
  /sbin
)

WindowsのPATH参照を無効化したい場合は以下で設定できます。

# /etc/wsl.conf
[interop]
appendWindowsPath=false

Docker設定

DockerDesktopを使わず、ネイティブのDockerを使用する場合は以下の設定を行います。
Arch Linuxではデフォルトでsystemdが有効化されています。

sudo systemctl enable --now docker
sudo gpasswd -a $USER docker

設定を反映するため、一度WSLを再起動してください。

exit
wsl -d archlinux

まとめ

WSL2でのArch Linuxインストールは、公式対応により以前より簡単になりました。
以前は自分でイメージファイルを作成してインポートする必要がありましたね。

Arch Linuxの良さは、ローリングリリースモデルで常に最新のパッケージを利用できること。
そして、自分の好きなものだけをカスタマイズして組み立てていく楽しさです。
自作PCが好きな人には刺さるかもしれませんね。
日本でArch Linuxを使う人が増えて、文献がどんどん増えると嬉しいです。

Discussion