#何をしようとしたのか?
Windows10 20H1が来たのでWSL2を用いてRails環境を整えようと思った。
Ubuntu 20.04LTSを入れて、あれこれ設定していたら想定外のところで躓いて転んだ。
何があったのか?
- Rubyのインストールはできた
- gemでRailsもインストールできた
- MariaDBもインストールできた
- 普通に起動させよう
$sudo systemctl start mysql
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to create bus connection: Host is down
なんかエラー出た。
なんで?
WSL2はsystemdがサポートされていないらしい(厳密には存在するらしいが無効化されている)。
仮に有効化させてもPID 1で起動できないので、事実上systemctlは使えない。
#対策
WSL2でSystemdを使うハックを参照してみた。
その中でも一番楽そうなgenie コマンドを使ってみることに。
https://github.com/arkane-systems/genie/
#実行
割と長めの前準備があるが、最終的には以下のコマンドを実行することになる。
sudo apt install systemd-genie
以下準備メモ
- .NET Core のインストール にアクセス
- dotnet-runtime-3.1をインストール
- wsl-translinuxにアクセス
- Quick installの欄のスクリプトを実行
- 上記コマンドを実行
#あれ?
実行してみるとわかるが、404エラーを返されてインストールに失敗する。
何故かと思ったらまだUbuntu 20.04LTS向けのパッケージが存在しないのである。
なんという……。
結論
現状DebianかUbuntu 18.04LTSを使おう。