WSL2にAlpine Linuxをインストールする

WSL2にAlpine Linuxをインストールして、一般ユーザーでログインできるように設定します。

WSL2の有効化

2022/11にMicrosoft StoreのWSLが正式版になったので、Windowsインボックス版ではなくStore版を使います。Store版ではWindows 10でもWindows 11のインボックス版以降に追加された機能が使用可能になります。

インストールは、管理者権限のコマンドプロンプトから下記コマンドで行えます。(参考: WSL を使用して Windows に Linux をインストールする)

wsl --install

Microsoftのサイトに書かれていますが、上記コマンドを実行すると既定のディストリビューションとしてUbuntuがインストールされます。Alpine Linuxだけ使えれば充分という場合はMicrosoft Storeから直接Windows Subsystem for Linuxをインストールするのが良いかもしれません。

Alpine Linuxのインストール

この手順では、Alpine LinuxのDownloadsページより入手可能なMini root filesystemのアーカイブファイルを使用します。各種CPUアーキテクチャ用のファイルが用意されていますが、WSL2での使用を目的とするならまず間違いなくx86_64を選択することになるでしょう。自分の環境に合ったアーカイブファイルをダウンロードしてください。

ダウンロードしたMini root filesystemのアーカイブファイルを次のコマンドでインポートします。

wsl --import Alpine C:\wsl\alpine alpine-minirootfs-3.18.0-x86_64.tar.gz --version 2

このコマンド例では次のような指定をしています。

  • WSLでのディストリビューション名 Alpine
  • インポート先ディレクトリ C:\wsl\alpine
  • Mini root filesystemのアーカイブファイル alpine-minirootfs-3.18.0-x86_64.tar.gz
  • 使用するWSLのバージョン 2

Alpine Linux起動

Windowsターミナルを使用している場合は、プロファイルが自動的に作成されます。

コマンドプロンプトでは次のコマンドで起動できます。

wsl -d Alpine

Alpine Linuxが起動し、画面がashに切り替わります。

既存パッケージの更新

apk update
apk upgrade

apk updateでパッケージリストを更新し、apk upgradeで更新されたパッケージをインストールします。

通常使用でも、定期的に実行するのが望ましいです。

suを使用可能にする

passwd
apk add busybox-suid

一般ユーザからrootにスイッチする場合、rootにパスワードが設定されて入る必要があります。デフォルトではrootのパスワードは設定されていないので、ここで設定しておきます。

suコマンド自体は最初からbusyboxのシンボリックリンクとして用意されていますが、busyboxにはsuidの設定がないため、一般ユーザが呼び出しても権限不足となりsuコマンドが失敗します。busybox-suidはsuidが必要になるコマンドをbusyboxに代わって提供します。

一般ユーザー作成

adduser <ユーザー名>

デフォルトユーザー設定

/etc/wsl.confを作成して、以下の内容を書き込みます。

[user]
default = <ユーザー名>

次回Alpine Linux起動時から反映されます。

<<サーバーソフトウェア更新 3 Alpine Linuxのパッケージ管理とシステム更新>>