はじめに
WSLでディストリビューションをインストールするには
PS> wsl -l --online
で出力されたものから選ぶの定石だが、あいにくAlpineLinuxはここには出てこない。
ちょっぴり手間ではあるが不可能ではないので、その手順を紹介していく。
手順
1. イメージのダウンロード
AlpineLinuxのダウンロードページに遷移して、Mini root filesystemの中からインストールするコンピュータのアーキテクチャに適合するイメージをダウンロードする。
多くの場合で、x86_64を選べば間違いない。
2. インストール
wslコマンドでインポートすることでインストールできる。
PS> wsl --import [ディストリビューション名] [インストール先ディレクトリ] [イメージパス]
ディストリビューション名は自分がわかりやすい名前をつければよい。
インストール先ディレクトリは、インストール後にvhdxファイルが作成される場所。
イメージパスは、ダウンロードしたイメージファイルを指定する。
インストール自体はこれで完了。
3. 設定 (オプション)
ここからは自分好みにカスタマイズしていく。
インストールしたAlpineLinuxを一度起動すると、WindowsTerminalの設定(Profiles)に表示されるようになるので、AlpineLinuxを選択する。
1. 名前
インストール時につけた名前を変えたい場合はここで修正する。
2. 開始ディレクトリ
起動時にいるディレクトリを指定する。通常はホームディレクトリで問題ない。
3. アイコン
好きなアイコンに変更できる。デフォルトのペンギンアイコンはあまり可愛くない…。
4. タブタイトル名
起動時のタブに表示される文字列を指定する。
5. その他
他はデフォルトのままでよい(と思う)。
4. ログインユーザーの変更 (オプション)
インストール直後はrootユーザでログインするが、一般ユーザでログインしたい方もいるかもしれない。そんな方のためにログインするユーザを変更していく。
1. sudo / doasをインストール
rootユーザにはパスワードが設定されていないので、一般ユーザでログインするようになるとroot権限で動けなくなる。これを防ぐために以下の選択肢がある。
sudoコマンドを使う
以下のコマンドを実行し、「# %wheel ALL=(ALL:ALL) NOPASSWD: ALL」(128行目あたり)のコメントをはずす。
# apk add sudo && visudo
doasコマンドを使う
sudoの代替としてdoasコマンドがある。これをインストールしてもよい。
# apk add doas && echo "permit nopass :wheel" > /etc/doas.conf
2. AlpineLinuxでユーザを作成
まずはログインするためのユーザを作成する。ここではalpineという名前で作成する。
# adduser -h /home/alpine alpine
# addgroup alpine wheel
ひとつめのコマンドでalpineユーザを作成し、ふたつめのコマンドでalpineユーザをwheelグループに参加させている。これはsudoまたはdoasを使えるようにするため。
3. wsl.confを作成
AlpineLinux内の /etc/wsl.conf に以下の設定を行う。
[user]
default = alpine
4. WSLを再起動
WSLを一度停止してから、AlpineLinuxを起動しなおす。
PS> wsl --shutdown
以上でalpineユーザでログインできるようになる。
root権限で何かをしたい場合は、以下のように実行できる。
$ sudo apk update # sudoで一度だけroot権限で実行したい場合
$ sudo su - # sudoでrootユーザになりたい場合
$ doas apk update # doasで一度だけroot権限で実行したい場合
$ doas su - # doasでrootユーザになりたい場合