TL;DR
WSLENV
を使う
概要
Proxy環境下でWSL2 ディストリビューションをインストールしてみたところ、AlpineのようにStoreからインストール完了後、初期起動時にパッケージをダウンロードするようなディストリビューションではshell起動までたどり着けませんでした。
Storeからのインストール時はWindowsのProxy設定が効くものの、Alpine初期起動時点ではProxy設定が反映されていないためのようです。
パッケージがダウンロードできずshellも起動しないため、AlpineのProxy設定を書き換えることができません。
対策として、WSLENVを使ってProxy設定の環境変数をAlpine起動前から引き渡すことでAlpineとしてインストール完了までできたため、備忘録として残します
方法
- Windowsのシステム環境変数を開く
- 各ディストリビューションのパッケージマネージャが参照するProxy接続用の環境変数をセットする
- 例: http_proxy など
- 上記環境変数名を WSLENV に記述する
- コロン区切り
- Microsoft Storeからディストリビューションをインストール
注意点
- Windowsは環境変数の大文字小文字を区別しないようなので、http_proxy か HTTP_PROXYのどちらかに一方のみをWSLENVに指定した方が無難
- 参照されるProxy環境変数は、ディストリによって異なると思うので事前に調べておく
例
Alpine Linux
下記相当をWindowsのシステム環境変数でセットする
http_proxy=http://some.proxy.host:proxy_port
https_proxy=https://some.proxy.host:proxy_port
WSLENV=http_proxy:https_proxy
Microsoft Storeでディストリビューションをインストールする