Windowsに環境を入れたいと思いPostgreSQL、nginxを導入したが、「systemctl」がない!?となり10分程ハマったので自分用の記録のため記載。
参考サイト(以下サイトを参照することで解決します):
https://info.nikkeibp.co.jp/media/LIN/atcl/books/040200025/
https://snowsystem.net/other/windows/wsl2-ubuntu-systemctl/
nginxの状態が見たかったので「systemctl」コマンドを実行しましたが以下のようにメッセージが出てしまった。
$ systemctl status nginx
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
まず、psコマンドで「PID 1」がどうなっているのかを調べた。
$ ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 1744 1088 ? Sl 02:17 0:00 /init
「init」が「PID 1」になっていることが判明。調べたところ「systemd」を「PID 1」で動作させる必要がある。
そこで以下URLの手順を実施していった。
https://snowsystem.net/other/windows/wsl2-ubuntu-systemctl/
以下で「Permission denied」となった。「vimで記載すればええわ」とvimで記載。
$ cat << EOF > /etc/apt/sources.list.d/wsl-transdebian.list
deb https://arkane-systems.github.io/wsl-transdebian/apt/ $(lsb_release -cs) main
deb-src https://arkane-systems.github.io/wsl-transdebian/apt/ $(lsb_release -cs) main
EOF
-bash: /etc/apt/sources.list.d/wsl-transdebian.list: Permission denied
vimで記載して「sudo apt update」した。「Error」!?、「アカンのかいな!!」声がでてしまった。
なんでやねんと思いつつ調べた。
$ sudo vi /etc/apt/sources.list.d/wsl-transdebian.list
$ sudo apt update
Ign:1 https://arkane-systems.github.io/wsl-transdebian/apt $(lsb_release InRelease
Hit:2 https://packages.microsoft.com/ubuntu/20.04/prod focal InRelease
Err:3 https://arkane-systems.github.io/wsl-transdebian/apt $(lsb_release Release
404 Not Found [IP: ●●●]
Hit:4 http://archive.ubuntu.com/ubuntu focal InRelease
Get:5 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Get:6 http://archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Get:7 http://archive.ubuntu.com/ubuntu focal-backports InRelease [108 kB]
Hit:8 http://apt.postgresql.org/pub/repos/apt focal-pgdg InRelease
Reading package lists... Done
E: The repository 'https://arkane-systems.github.io/wsl-transdebian/apt $(lsb_release Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
以下サイトに同じような内容が記載されている!!!ここの「wsl-transdebian.list」を追記してみたらいけそう!!
https://info.nikkeibp.co.jp/media/LIN/atcl/books/040200025/
おー、できたわ。試しに「postgresql」で実行してみた。
$ systemctl status postgresql
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Mon 2022-02-21 03:14:30 JST; 6min ago
Main PID: 329 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 7049)
Memory: 0B
CGroup: /system.slice/postgresql.service
めっちゃええサイトがあるもんやなと思った。感謝です。
※なんで「nginx」ちゃうねんに関しては、特に意味はない。