【WSL2】WSL2 の CentOS8 で systemctl コマンドを実行できるようにする手順

WSL2 の CentOS8 で systemctl コマンドを実行できるようにする手順について解説します。

先日、Windows 10 上で WSL2 で CentOS8 を起動できるようにしましたが、systemctl コマンドを実行すると以下のようなエラーが出力されました。

 

 

■systemctl コマンドを実行したところエラーが出力

[root@LAPTOP-2N8G36AO System32]# systemctl status sshd.service ← systemctlコマンドを実行したところ以下のエラーが出力
System has not been booted with systemd as init system (PID 1). Can’t operate.
Failed to connect to bus: Host is down

 

 

■systemctl コマンドを実行したところエラーが出力

[root@LAPTOP-2N8G36AO ~]# systemctl
System has not been booted with systemd as init system (PID 1). Can’t operate.
Failed to connect to bus: Host is down

 

 

 

Failed to connect to bus: Host is down の原因

検索をすると多数のサイトが表示されますが、要は init が PID 1 で起動しているからとなります。

 

■ps コマンドの結果

[root@LAPTOP-2N8G36AO System32]# ps -ef 
UID        PID  PPID  C STIME TTY          TIME CMD 
root         1     0  0 10:03 ?        00:00:00 /init ← initのPIDが1になっています。
root       127     1  0 11:43 ?        00:00:00 /init 
root       128   127  0 11:43 ?        00:00:00 /init 
root       129   128  0 11:43 pts/0    00:00:00 -bash 
root       149   129  0 11:47 pts/0    00:00:00 ps -ef 
[root@LAPTOP-2N8G36AO System32]#

 

 

 

CentOS8での手順

Ubuntuでの手順はいろいろありましたが、CentOS8 でも以下のように簡単に設定ができたので、今回私が実行した手順を記載します。

 

 

■genie のパッケージを取得

[root@LAPTOP-2N8G36AO ~]# wget https://github.com/arkane-systems/genie/releases/download/v1.36/genie-1.36-1.fc33.x86_64.rpm

 

■genie のパッケージを取得

[root@LAPTOP-2N8G36AO ~]# dnf install genie-1.36-1.fc33.x86_64.rpm

 

 

■genie の初期化

genie -i コマンドで genie を初期化します。

[root@LAPTOP-2N8G36AO ~]# genie -i
Waiting for systemd….!!!!!!!!!!!!
[root@LAPTOP-2N8G36AO ~]#

 

 

■genie の起動

genie -s コマンドで genie を起動します。

[root@LAPTOP-2N8G36AO ~]# genie -s

 

■genie コマンドの Readme

https://github.com/arkane-systems/genie

 

 

動作確認

■psコマンドで確認

[root@LAPTOP-2N8G36AO-wsl ~]# ps -ef 
UID          PID    PPID  C STIME TTY          TIME CMD 
root           1       0  0 12:09 ?        00:00:00 systemd ← PID 1 が systemd になりました。 
root          18       1  0 12:09 ?        00:00:00 /usr/lib/systemd/systemd-journald 
root          34       1  0 12:09 ?        00:00:00 /usr/lib/systemd/systemd-udevd 
dbus          50       1  0 12:09 ?        00:00:00 /usr/bin/dbus-daemon –system –address=systemd: –nofork –nopidfil 
root          56       1  0 12:09 ?        00:00:00 /usr/bin/rhsmcertd 
root         102       1  0 12:09 ?        00:00:00 /usr/sbin/sshd -D -oCiphers=aes256-gcm@openssh.com,chacha20-poly1305 
root         129       1  0 12:09 ?        00:00:00 /usr/lib/systemd/systemd-machined 
root         130       1  0 12:09 pts/1    00:00:00 /bin/bash -l 
root         131     130  0 12:09 pts/1    00:00:00 (sd-pam) 
root         150     130  0 12:21 pts/1    00:00:00 ps -ef 
[root@LAPTOP-2N8G36AO-wsl ~]#

 

 

 

 

■systemctl コマンドで確認

[root@LAPTOP-2N8G36AO-wsl ~]# systemctl status sshd.service 
 sshd.service – OpenSSH server daemon 
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled) 
   Active: active (running) since Sun 2021-08-29 12:09:42 JST; 40min ago 
     Docs: man:sshd(8) 
           man:sshd_config(5) 
 Main PID: 102 (sshd) 
    Tasks: 1 (limit: 26213) 
   Memory: 1.1M 
   CGroup: /system.slice/sshd.service 
           └─102 /usr/sbin/sshd -D -oCiphers=aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes256-cbc> 
 
Aug 29 12:09:42 LAPTOP-2N8G36AO-wsl systemd[1]: Starting OpenSSH server daemon… 
Aug 29 12:09:42 LAPTOP-2N8G36AO-wsl sshd[102]: Server listening on 0.0.0.0 port 22. 
Aug 29 12:09:42 LAPTOP-2N8G36AO-wsl sshd[102]: Server listening on :: port 22. 
Aug 29 12:09:42 LAPTOP-2N8G36AO-wsl systemd[1]: Started OpenSSH server daemon. 
[root@LAPTOP-2N8G36AO-wsl ~]#

 

 

 

 

 

参考サイト

以下のサイトを参考にしました。ありがとうございました。

 

Failing systemd Services in CentOS 8-Stream

 

WSL2上のCentOS8でsystemctlを使えるようにする

 

 

 

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

AlphaOmega Captcha Medica  –  What Do You See?
     
 

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください