Fedora
如何在基於 WSL 的 Fedora 中啟動服務?
我在適用於 Linux 2 的 Windows 子系統下有一個 Fedora 33。
我想執行 sshd。為此我嘗試了
$ sudo systemctl start sshd
但我收到了錯誤資訊
System has not been booted with systemd as init system (PID 1). Can't operate
搜尋我發現的此錯誤消息
https://linuxhandbook.com/system-has-not-been-booted-with-systemd/
在這種情況下建議使用 service 命令。我試過但它說
Redirecting to /bin/systemctl start sshd.service
所以我得到了同樣的錯誤。
我可以在基於 WSL2 的 Fedora 33 上做什麼?
更新:我已經使用雲映像和 wsl 命令將 Fedora 安裝到 WSL 上,如下所述:
我使用 Fedora 35,但這可能也適用於其他 Fedora 版本。
就像 NotTheDr01ds 說的,fedora 不支持
service start sshd
。所以你可以通過命令手動執行 sshdnohup /usr/sbin/sshd -D > sshd.log 2>&1 &
。或者你需要讓 systemd 為 wsl 工作。由於 genie 支持 fedora,所以你可以嘗試使用它來使 systemd 工作。
這是項目網址:https ://github.com/arkane-systems/genie
- 你可以從這個頁面下載 rpm 包:https ://github.com/arkane-systems/genie/releases
- 使用命令安裝 genie-*.x86_64.rpm
dnf install
- 在命令中使用精靈
genie -s
- 使用 systemctl 啟動 sshd
systemctl start sshd
您可能會遇到
Transport endpoint is not connected
第四步的錯誤。這是由已知的 wsl ldconfig 問題引起的。請按照以下說明進行修復:
https ://github.com/microsoft/WSL/issues/5548#issuecomment-990521993
https://github.com/microsoft/WSL/issues/5548#issuecomment-912495487