ここ で Windows 上に python 環境を作るのに msys2 を使ってみたけど、
つまり、そこで msys2 で unix 環境ができたわけだけど、
やっぱネイティブな?
純粋な unix 環境で、いろいろ試したいこともあるので、VM で unix 環境を作ることにした
やったことを記しておきます
1. WSL をインストールする
wsl --install
wsl --set-default-version 2
2. Microsoft Store から Ubuntu 24.04.1 LTS をインストールする
※ 24.04.1 LTS は 現時点(2024/11/03)最新と思われるので指定した
WSL のネットワークは 標準で NAT になっているらしい
※これだけで ubuntu が動くと思っていたけど、うごかなくて、手順3, 4, 5 をした
3. HyperV を有効にする
dism.exe /online /enable-feature /featurename:Microsoft-Hyper-V -All /norestart
4. WSL を有効化する
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /norestart
dism.exe /online /enable-feature /featurename:WindowsSubsystemForLinux /norestart ※エラーした
5. 再起動する
6. メニューから ubuntu を起動する
7. 初期設定&ssh サーバー起動する
apt update
apt upgrade
apt install -y openssh-server
# ssh サーバー起動
service ssh start
# ssh サーバーの自動起動設定
systemctl enable ssh
# ssh サーバーの起動状態の確認
service ssh status
8. root パスワードの設定&ユーザー追加(&sudo 設定)する
passwd
useradd <ユーザー名>
passwd <ユーザー名>
usermod -aG sudo <ユーザー名>
9. マシン名を変える
/etc/wsl.conf に以下の行を追加する
[network]
hostname = new-hostname
※ wsl 上の ubuntu の IP は起動するたびに変化するらしい
仮想環境であることが原因なので、固定IP運用も難しいみたい
調査していこう・・・
10. お好みで・・・
apt install net-tools
!!注意!!
・Windows の終了で、 ubuntu は自動で終了するらしい
ただし、ubuntu 上のプロセスは終了させられるので、動作保証が・・・
明確に手動で終了させる場合は PowerShell で以下のように打つようだ
wsl --shutdown
ubuntu のシェルで exit しても終わるようだ
・Windows の起動で、 ubuntu は自動起動しない
以下のようにタスクスケジューラを設定したらいいみたい(未試行なので、メモ・・・)
- 「タスクスケジューラ」を開き、「基本タスクの作成」から新しいタスクを作成します。
- 「トリガー」で「Windows にログオンしたとき」を選択。
- 「操作」で
wsl.exeを実行するよう設定します。
・Windows のファイルは /mnt/<ドライブ名> で見える♪ (・ω・)ノシ
以下、まだやっていないけど、そのうち、必要になるような気がするのでメモしておく (;^ω^)
Appendix.A ポートフォワード設定 ★まだ、うまく動かない・・・
A1. PowerShell にて以下のコマンドで設定ができる
netsh interface portproxy add v4tov4 listenport=<Windowsのポート番号> listenaddress=0.0.0.0 connectport=<WSLのポート番号> connectaddress=127.0.0.1
A2. 設定の確認
netsh interface portproxy show v4tov4
A3. 補足:設定を削除する場合
netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=<ホスト側のポート番号>
A4. ファイアーウォールの設定
New-NetFirewallRule -DisplayName "WSL Web Server Port" -Direction Inbound -Protocol TCP -LocalPort 8081 -Action Allow
0 件のコメント:
コメントを投稿