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起動時から反映されます。