我按照这些步骤在我的 WSL2 Ubuntu 20.04 发行版中设置 SystemD,但在重新启动之前没有进行验证。现在,当我尝试启动(作为我的普通用户或作为root
)时,它挂起:
/usr/sbin/enter-systemd-namespace:第 10 行:/usr/sbin/daemonize:没有这样的文件或目录
如何还原/etc/bash.bashrc
更改以恢复?我尝试\\wsl$\\<distro>\...
使用记事本通过 Windows 的路径进行编辑,但没有权限(即使以管理员身份运行)。
新的/违规行是第 4 行
/etc/bash.bashrc
。我可以通过以下方式从 Windows 命令提示符中删除它:
然后我能够重新登录到我的 shell 并清理问题。
我看到你已经康复了,这是一个很好的解决方案。未来,还要考虑:
这应该会让你进入一个没有运行有问题的启动脚本的 shell。
sh
如果需要,您也可以使用。此外,大多数 WSL 的 Systemd 脚本或指令都非常复杂,因为它们试图“做所有事情”。要做一个“快速而肮脏”的 Systemd 运行,但可能有一些有限的功能,你可以从:
ps -ef
在 Systemd 启动时等待几秒钟以“安定下来”,然后:这应该让您进入 WSL2/Ubuntu 中可用的 Systemd 环境。主要限制是您将无法在该会话中运行 Windows 可执行文件。但这对于 Kubernetes 教程来说不是必需的。
一旦你运行了它,你就可以构建“完整的 Systemd”脚本。