Windows 11 - WSL 2 - systemd
Windows 11 のWSL でsystemd を有効にしてみました。
構成がすっきりしました。
環境
まず、現在PC で構築しているサービスを整理します。
WSL で構築するサービス
- Pritunl (VPN、systemd で起動管理)
- Code-server (IDE、systemd で起動管理)
- Hexo (Blog、コマンドで実行)
Windows で構築するサービス
- EPGStation (番組表/番組予約)
- Mirakurun (チューナ)
WSL 構築
- systemd の有効化
- 設定
/etc/wsl.conf [boot]
systemd=true - 一旦、WSL をシャットダウン(or 対象ディストリビューションをターミネート)
- ポートフォワードの設定
- PowerShell スクリプト
wsl-proxy.ps1 $WSL2_IPV4=bash -c "ip route | grep 'eth0 proto kernel scope' | cut -d ' ' -f9"
$HOST_IPV4="*"
$PORTS=@(22,443,2049,3030,4000,8080,8443,9090,60000)
foreach ($PORT in $PORTS)
{
netsh interface portproxy delete v4tov4 listenaddress=$HOST_IPV4 listenport=$PORT
netsh interface portproxy add v4tov4 listenaddress=$HOST_IPV4 listenport=$PORT connectaddress=$WSL2_IPV4 connectport=$PORT
} - ports
port 用途 22 SSH 443 Pritunl 2049 3030 4000 Hexo s 8080 code-server 8443 9090 60000 OpenVPN - タスクスケジューラで起動時に実行
- Node
- n 用の設定
~/.bashrc export N_PREFIX=$HOME/.n
export PATH=$N_PREFIX/bin:$PATH - 導入
$ sudo apt install nodejs npm
$ sudo npm install n -g
$ sudo apt purge nodejs npm
$ n latest
- Printunl
- 手順
https://techviewleo.com/install-pritunl-vpn-on-ubuntu-server/ - 準備
$ sudo apt update && sudo apt upgrade
$ sudo apt install wget vim curl gnupg2 software-properties-common apt-transport-https ca-certificates lsb-release
$ sudo tee /etc/apt/sources.list.d/pritunl.list << EOF
deb https://repo.pritunl.com/unstable/apt jammy main
EOF
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv 7568D9BB55FF9E5287D586017AE645C0CF8E292A - リポジトリのlibssl パッケージでは依存関係が満たせないので別途導入
$ wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1-1ubuntu2.1~18.04.20_amd64.deb
$ sudo dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb - 導入
curl -fsSL https://www.mongodb.org/static/pgp/server-5.0.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/mongodb-5.gpg
echo "deb [ arch=$(dpkg --print-architecture) ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org.list$ sudo apt update && sudo apt install pritunl mongodb-org
$ sudo systemctl start pritunl mongod
$ sudo systemctl enable pritunl mongod
$ systemctl status pritunl mongod
- code-server
- 手順
https://github.com/coder/code-server#user-content-getting-started - 設定
curl -fsSL https://code-server.dev/install.sh | sh
sudo systemctl enable --now code-server@$USER/.config/code-server/config.yaml #bind-addr: 127.0.0.1:8080
bind-addr: 0.0.0.0:8080
#auth: password
auth: none - 拡張機能の導入
- Project Manager でプロジェクトの登録
- 永続化(別途Windows Terminal を常駐化)
- 「VS Code Server」の方も試しましたが、導入できる拡張が少ないことと、接続に時間がかかることから不採用
- Hexo
- 手順
https://hexo.io/docs/#Install-Hexo - 導入
$ npm install hexo-cli -g
- プラグインの導入
- 現行のデータの移行
Comment