我需要在实际启动系统之前启用 systemd 服务(用于无人值守安装目的)。因此我不能使用 systemctl。我可以使用 systemd-nspawn,但我认为它不太适合编写脚本。
我知道 systemctl 创建了一个符号链接,但这就是我所要做的,我可以在不“打扰”systemd 的情况下做到这一点吗?
这似乎有效,但你能确认吗?
ln -s /usr/lib/systemd/system/sshd.service /etc/systemd/system/multi-user.target.wants/sshd.service
Run Code Online (Sandbox Code Playgroud)
如何使用systemd-nspawn
来启用服务或执行更改systemd
:
tmux new-session -d -s mysession "systemd-nspawn --boot --machine=machine_name -D /install/directory"\nsystemctl --machine=machine_name enable sshd\nmachinectl poweroff machine_name\n
Run Code Online (Sandbox Code Playgroud)\n\n警告: \n仅使用符号链接可能会导致问题,因为 systemd 处理[Install]
单元文件的部分,并且符号链接可能会导致损坏。\n感谢 @\xe7\xa5\x9e\xe7\xa7\x98\xe5\xbe\xb7\ 的改进xe9\x87\x8c\xe5\x85\x8b。