WSLは今のところ?systemdが初期設定では動かない
最近WSLが大変便利でいいなぁと思って気に入っています。とはいえ実際のところWSLで開発の主要なテクノロジーは全部動くのか?が分からず、実際にやってみています。その第一弾として、MySQLをWSLのUbuntuで動かしたかったのですが、systemdが動作しないことに起因していろいろうまくいかずに結構はまってしまいました。最終的に解決したら手順はたいしたものではなかったのですが
結論。設定を変えれば動く。
結論としては、下記の記事の内容を実施すればsystemdが動作するようになります。
Systemd support is now available in WSL!
そんなにプロセスは多くないので問題ない方も多いかもしれませんが、一応上記は英語の記事ということで、下記に日本語で手順をまとめました。
目次
WSLのアップデート
Powershellで以下のコマンドを実行します。
wsl --version
WSL バージョンが0.67.6以上でない場合、以下でWSLのアップデートを行います。
wsl --update
WSLの設定変更
/etc/wsl.conf に以下を追加します。
※sudoで編集しないと設定できないそうです。
[boot]
systemd=true
記事によると上記の後、一度WSLを終了させ、以下を実行して(おそらくバックグラウンドで動いているから?)WSLインスタンスを終了させてね、とのことでした。
wsl --shutdown
その後、WSLを起動して以下のコマンドを実行すると、systemdが動いていることが確認できます。
systemctl list-unit-files --type=service
これだけ!
WSL回りは結構アップデートが早く、少し古い記事を見ると以前はかなりいろいろやらないとやらないといけなかったようですが、現在はこれだけでOKです。WSLを使っている方は参考にしてみてくださいね。
おまけ:カジュアルトークを受け付けています!
Musubiteというプラットフォームで、エンジニアのカジュアルトークを受け付けております。
プラットフォーム自体、エンジニアの方にとってとても魅力的なものだと感じていますので、よろしければぜひのぞいてみてください!